IFmsAuthEvent Class Reference

The interface to an event object provided to the Authorization plug-in.

#include <FmsAuthEvents.h>

List of all members.

Public Types

enum  EventType {
  E_APPSTART = 0, E_APPSTOP, E_CONNECT, E_DISCONNECT,
  E_FILENAME_TRANSFORM, E_PLAY, E_STOP, E_SEEK,
  E_PAUSE, E_PUBLISH, E_UNPUBLISH, E_LOADSEGMENT,
  E_ACTION, E_MAXEVENT
}
 The enumeration of event types. More...
enum  Field {
  F_CLIENT_URI = 0, F_CLIENT_ID, F_CLIENT_IP, F_CLIENT_SECURE,
  F_CLIENT_VHOST, F_CLIENT_REFERRER, F_CLIENT_PAGE_URL, F_CLIENT_AMF_ENCODING,
  F_CLIENT_USER_AGENT, F_CLIENT_READ_ACCESS, F_CLIENT_WRITE_ACCESS, F_CLIENT_READ_ACCESS_LOCK,
  F_CLIENT_WRITE_ACCESS_LOCK, F_CLIENT_AUDIO_CODECS, F_CLIENT_VIDEO_CODECS, F_CLIENT_TYPE,
  F_CLIENT_PROTO, F_CLIENT_URI_STEM, F_APP_URI, F_APP_NAME,
  F_APP_INST, F_STREAM_NAME, F_STREAM_PATH, F_STREAM_TYPE,
  F_STREAM_LENGTH, F_STREAM_POSITION, F_STREAM_IGNORE, F_STREAM_RESET,
  F_STREAM_QUERY, F_CLIENT_AUDIO_SAMPLE_ACCESS, F_CLIENT_VIDEO_SAMPLE_ACCESS, F_CLIENT_AUDIO_SAMPLE_ACCESS_LOCK,
  F_CLIENT_VIDEO_SAMPLE_ACCESS_LOCK, F_CLIENT_REDIRECT_URI, F_STREAM_PAUSE, F_STREAM_PAUSE_TIME,
  F_STREAM_PAUSE_TOGGLE, F_STREAM_SEEK_POSITION, F_STREAM_PUBLISH_TYPE, F_STREAM_PUBLISH_BROADCAST,
  F_SEGMENT_START, F_SEGMENT_END, F_MAXFIELD
}
 The enumeration of event fields. More...
enum  Status {
  S_SUCCESS = 0, S_INVALID_FIELD, S_INVALID_TYPE, S_INVALID_VALUE,
  S_READ_ONLY
}
 The enumeration of error return. More...

Public Member Functions

virtual EventType getType () const =0
virtual Status getField (Field fn, FmsVariant &field) const =0
virtual Status setField (Field fn, const FmsVariant &field)=0
virtual
IFmsDisconnectAction
addDisconnectAction (const char *strText=0)=0
virtual
IFmsNotifyAction
addNotifyAction (const char *strText=0)=0

Protected Member Functions

 IFmsAuthEvent ()
 IFmsAuthEvent (const IFmsAuthEvent &aev)
bool operator== (const IFmsAuthEvent &aev) const
virtual ~IFmsAuthEvent ()

Friends

class EventContext

Classes

class  IFmsAction
 The structure of an action associated with an authorization-only event. Note: Actions are executed regardless of event authorization status. More...


Member Enumeration Documentation

enum IFmsAuthEvent::EventType

Enumerator:
E_APPSTART  Start an application.
E_APPSTOP  Stop an application.
E_CONNECT  A client established a TCP control connection to the server.
E_DISCONNECT  The TCP connection between the client and the server is broken.
E_FILENAME_TRANSFORM  The server has requested permission to map the logical filename requested by a client.
E_PLAY  Play a stream.
E_STOP  Stop a stream.
E_SEEK  Seek a stream.
E_PAUSE  Pause a stream.
E_PUBLISH  Publish a stream.
E_UNPUBLISH  Unpublish a stream.
E_LOADSEGMENT  Load a segment.
E_ACTION  An action attached to an event was executed.
E_MAXEVENT  The total number of events in the enum field.

enum IFmsAuthEvent::Field

Enumerator:
F_CLIENT_URI  The URI the client specified to connect to the server. The value does not include the application name or instance name.
F_CLIENT_ID  A string that uniquely identifies the client (this value is not unique across processes).
F_CLIENT_IP  The client IP address.
F_CLIENT_SECURE  A Boolean value indicating whether a connection is secure (true) or not (false).
F_CLIENT_VHOST  The virtual host of the application the client is connected to.
F_CLIENT_REFERRER  The URL of the SWF file or server where this connection originated.
F_CLIENT_PAGE_URL  The URL of the client SWF file. (This field is set only when clients use Flash Player 8 or 9).
F_CLIENT_AMF_ENCODING  The AMF (Action Message Format) encoding of the client.
F_CLIENT_USER_AGENT  The client user-agent.
F_CLIENT_READ_ACCESS  A string of directories containing application resources (shared objects and streams) to which the client has read access.
F_CLIENT_WRITE_ACCESS  A string of directories containing application resources (shared objects and streams) to which the client has write access.
F_CLIENT_READ_ACCESS_LOCK  A Boolean value preventing a server-side script from setting the Client.readAccess property (true), or not (false).
F_CLIENT_WRITE_ACCESS_LOCK  A Boolean value preventing a server-side script from setting the Client.writeAccess property (true), or not (false).
F_CLIENT_AUDIO_CODECS  A list of audio codecs supported on the client.
F_CLIENT_VIDEO_CODECS  A list of video codecs supported on the client.
F_CLIENT_TYPE  The client type. Possible values are Normal, Group, GroupElement (a client connected through as edge server), Service, All.
F_CLIENT_PROTO  The protocol the client used to connect to the server.
F_CLIENT_URI_STEM  The stem of the URI, without the query.
F_APP_URI  The client URI of the application to which the client connected. The value does not include the server name or port information.
F_APP_NAME  The application name.
F_APP_INST  The application instance name.
F_STREAM_NAME  The stream name.
F_STREAM_PATH  The physical path of the stream on the server. When the plug-in is deployed on an edge server, the physical path of the cache.
F_STREAM_TYPE  The file type of the stream.
F_STREAM_LENGTH  The length of the stream; for stream events other than E_PLAY, use the F_STREAM_SEEK_POSITION, F_SEGMENT_START and F_SEGMENT_END fields.
F_STREAM_POSITION  The position of the stream; for stream events other than E_PLAY, use the F_STREAM_SEEK_POSITION, F_STREAM_PAUSE_TIME, F_SEGMENT_START, and F_SEGMENT_END fields.
F_STREAM_IGNORE  A Boolean value indicating whether to ignore timestamps (true), or not (false).
F_STREAM_RESET  A Boolean value indicating whether to allow adding a stream to a playlist (true), or not (false); for stream events other than E_PLAY, use F_STREAM_PUBLISH_TYPE.
F_STREAM_QUERY  A query appended to a stream, for example, streamName?streamQuery.
F_CLIENT_AUDIO_SAMPLE_ACCESS  Gives the client access to raw, uncompressed audio data from streams in the specified folders.
F_CLIENT_VIDEO_SAMPLE_ACCESS  Gives the client access to raw, uncompressed video data from streams in the specified folders.
F_CLIENT_AUDIO_SAMPLE_ACCESS_LOCK  A Boolean value preventing a server-side script from setting the Client.audioSampleAccess property (true), or not (false).
F_CLIENT_VIDEO_SAMPLE_ACCESS_LOCK  A Boolean value preventing a server-side script from setting the Client.videoSampleAccess property (true), or not (false).
F_CLIENT_REDIRECT_URI  A URI to redirect the connection to.
F_STREAM_PAUSE  A Boolean value indicating whether to pause or unpause; available in E_PAUSE only.
F_STREAM_PAUSE_TIME  The time at which a stream is paused; available in E_PAUSE only.
F_STREAM_PAUSE_TOGGLE  The stream pause toggle; available in E_PAUSE only.
F_STREAM_SEEK_POSITION  The position to which the stream should seek; available in E_SEEK only.
F_STREAM_PUBLISH_TYPE  The stream publishing type (available for E_PUBLISH only): 0 for record, 1 for record and append to existing stream, -1 for live.
F_STREAM_PUBLISH_BROADCAST  Broadcast or multicast; currently not supported.
F_SEGMENT_START  The segment start boundary in bytes; available in E_LOADSEGMENT only.
F_SEGMENT_END  The segment end boundary in bytes; available in E_LOADSEGMENT only.
F_MAXFIELD  The total number of fields in the enum field.

enum IFmsAuthEvent::Status

Enumerator:
S_SUCCESS  Success.
S_INVALID_FIELD  Wrong field.
S_INVALID_TYPE  Wrong type.
S_INVALID_VALUE  Wrong value.
S_READ_ONLY  The event is read only.


Constructor & Destructor Documentation

IFmsAuthEvent::IFmsAuthEvent (  )  [protected]

Creates an IFmsAuthEvent object.

IFmsAuthEvent::IFmsAuthEvent ( const IFmsAuthEvent aev  )  [protected]

Creates an IFmsAuthEvent object.

virtual IFmsAuthEvent::~IFmsAuthEvent (  )  [protected, virtual]

Destroys an IFmsAuthEvent object.


Member Function Documentation

virtual EventType IFmsAuthEvent::getType (  )  const [pure virtual]

Gets the type of the event.

virtual Status IFmsAuthEvent::getField ( Field  fn,
FmsVariant field 
) const [pure virtual]

Gets the field value.

virtual Status IFmsAuthEvent::setField ( Field  fn,
const FmsVariant field 
) [pure virtual]

Sets the field value.

virtual IFmsDisconnectAction* IFmsAuthEvent::addDisconnectAction ( const char *  strText = 0  )  [pure virtual]

Attaches a disconnect action to an event. The disconnect action disconnects a client from the server when the event it's attached to is executed.

Actions execute in the order they're attached to events. This can affect the execution result if there are dependencies.

Parameters:
strText A customized description of an action. Used in the x-comment field of the authEvent.NN.log file if that field and the action event are enabled in the Logging.xml file.
Returns:
A return pointer to disconnect an action; 0 if an error occurs.

virtual IFmsNotifyAction* IFmsAuthEvent::addNotifyAction ( const char *  strText = 0  )  [pure virtual]

Attaches a notify action to an event. The notify action calls a method you've defined in a server-side script when the event it's attached to is executed.

Actions execute in the order they're attached to events. This can impact the execution result if there are dependencies.

Parameters:
strText A customized description of an action. Used in the comment column of the authEvent.NN.log file if that field and the action event are enabled in the Logging.xml file.
Returns:
A return pointer to disconnect an action; 0 if an error occurs.

bool IFmsAuthEvent::operator== ( const IFmsAuthEvent aev  )  const [protected]


Friends And Related Function Documentation

friend class EventContext [friend]


The documentation for this class was generated from the following file: FMS Adaptors Footer

 

©2007 Adobe Systems Incorporated.  All Rights Reserved.