FmsAuthEvents.h

Go to the documentation of this file.
00001 /*----------------------------------------------------------------------------+
00002  |       ___     _       _                                                    |
00003  |      /   |   | |     | |                                                   |
00004  |     / /| | __| | ___ | |__   ___                                           |
00005  |    / /_| |/ _  |/ _ \|  _ \ / _ \                                          |
00006  |   / ___  | (_| | (_) | |_) |  __/                                          |
00007  |  /_/   |_|\__,_|\___/|____/ \___|                                          |
00008  |                                                                            |
00009  |                                                                            |
00010  |  ADOBE CONFIDENTIAL                                                        |
00011  |  __________________                                                        |
00012  |                                                                            |
00013  |  Copyright (c) 2003 - 2007, Adobe Systems Incorporated.                    |
00014  |  All rights reserved.                                                      |
00015  |                                                                            |
00016  |  NOTICE:  All information contained herein is, and remains the property    |
00017  |  of Adobe Systems Incorporated and its suppliers, if any. The intellectual |
00018  |  and technical concepts contained herein are proprietary to Adobe Systems  |
00019  |  Incorporated and its suppliers and may be covered by U.S. and Foreign     |
00020  |  Patents, patents in process, and are protected by trade secret or         |
00021  |  copyright law. Dissemination of this information or reproduction of this  |
00022  |  material is strictly forbidden unless prior written permission is         |
00023  |  obtained from Adobe Systems Incorporated.                                 |
00024  |                                                                            |
00025  |          Adobe Systems Incorporated       415.832.2000                     |
00026  |          601 Townsend Street              415.832.2020 fax                 |
00027  |          San Francisco, CA 94103                                           |
00028  |                                                                            |
00029  +----------------------------------------------------------------------------*/
00030 #if !defined( FmsAuthEvents_H )
00031 #define  FmsAuthEvents_H
00032 
00033 #include "FmsAdaptor.h"
00034
00035 class IFmsDisconnectAction;
00036 class IFmsNotifyAction;
00037
00043 class IFmsAuthEvent
00044 {
00045         public:
00046
00050                 enum EventType  {
00051                         E_APPSTART = 0,
00052                         E_APPSTOP,
00053                         E_CONNECT,
00054                         E_DISCONNECT,
00055                         E_FILENAME_TRANSFORM,
00056                         E_PLAY,
00057                         E_STOP,
00058                         E_SEEK,
00059                         E_PAUSE,
00060                         E_PUBLISH,
00061                         E_UNPUBLISH,
00062                         E_LOADSEGMENT,
00063                         E_ACTION,
00064                         E_MAXEVENT
00065                 };
00066
00070                 enum Field      {
00071                         F_CLIENT_URI = 0,
00072                         F_CLIENT_ID,
00073                         F_CLIENT_IP,
00074                         F_CLIENT_SECURE,
00075                         F_CLIENT_VHOST,
00076                         F_CLIENT_REFERRER,
00077                         F_CLIENT_PAGE_URL,
00078                         F_CLIENT_AMF_ENCODING,
00079                         F_CLIENT_USER_AGENT,
00080                         F_CLIENT_READ_ACCESS,
00081                         F_CLIENT_WRITE_ACCESS,
00082                         F_CLIENT_READ_ACCESS_LOCK,
00083                         F_CLIENT_WRITE_ACCESS_LOCK,
00084                         F_CLIENT_AUDIO_CODECS,
00085                         F_CLIENT_VIDEO_CODECS,
00086                         F_CLIENT_TYPE,
00087                         F_CLIENT_PROTO,
00088                         F_CLIENT_URI_STEM,
00089                         F_APP_URI,
00090                         F_APP_NAME,
00091                         F_APP_INST,
00092                         F_STREAM_NAME,
00093                         F_STREAM_PATH,
00094                         F_STREAM_TYPE,
00095                         F_STREAM_LENGTH,
00096                         F_STREAM_POSITION,
00097                         F_STREAM_IGNORE,
00098                         F_STREAM_RESET,
00099                         F_STREAM_QUERY,
00100
00101                         F_CLIENT_AUDIO_SAMPLE_ACCESS,
00102                         F_CLIENT_VIDEO_SAMPLE_ACCESS,
00103             F_CLIENT_AUDIO_SAMPLE_ACCESS_LOCK,
00104             F_CLIENT_VIDEO_SAMPLE_ACCESS_LOCK,
00105                         F_CLIENT_REDIRECT_URI,
00106                         F_STREAM_PAUSE,
00107                         F_STREAM_PAUSE_TIME,
00108                         F_STREAM_PAUSE_TOGGLE,
00109                         F_STREAM_SEEK_POSITION,
00110                         F_STREAM_PUBLISH_TYPE,
00111                         F_STREAM_PUBLISH_BROADCAST,
00112                         F_SEGMENT_START,
00113                         F_SEGMENT_END,
00114                         F_MAXFIELD
00115                 };
00116
00120                 enum Status  {
00121                         S_SUCCESS = 0,
00122                         S_INVALID_FIELD,
00123                         S_INVALID_TYPE,
00124                         S_INVALID_VALUE,
00125                         S_READ_ONLY
00126                 };
00127
00131                 virtual EventType getType() const = 0;
00132
00136                 virtual Status getField(Field fn, FmsVariant& field) const = 0;
00137
00141                 virtual Status setField(Field fn, const FmsVariant& field) = 0;
00142
00147                 class IFmsAction
00148                 {
00149                         public:
00150
00154                         enum ActionType {
00155                                 A_DISCONNECT = 0,
00156                                 A_CLIENTNOTIFY,
00157                                 A_MAXACTION
00158                         };
00159
00165                         virtual ActionType getType() const = 0;
00166                 };
00167
00182                 virtual IFmsDisconnectAction* addDisconnectAction(const char* strText = 0) = 0;
00183
00198                 virtual IFmsNotifyAction* addNotifyAction(const char* strText = 0) = 0;
00199
00200         protected:
00201
00208                 IFmsAuthEvent() {}
00209
00216                 IFmsAuthEvent(const IFmsAuthEvent& aev) {}
00217
00218                 bool    operator==(const IFmsAuthEvent& aev) const {}
00219
00226                 virtual ~IFmsAuthEvent() {}
00227
00228  friend class EventContext;
00229
00230 };
00231
00232 #endif
FMS Adaptors Footer

 

©2007 Adobe Systems Incorporated.  All Rights Reserved.