00001
00032 #ifndef LLMEDIAEOBSERVER_H
00033 #define LLMEDIAEOBSERVER_H
00034
00035 class LLMediaBase;
00036
00037 class LLMediaEvent
00038 {
00039 public:
00040 LLMediaEvent( LLMediaBase* subject ) :
00041 mSubject( subject ), mIntValue(-1)
00042 {
00043 };
00044
00045 LLMediaEvent( LLMediaBase* subject, std::string in ) :
00046 mSubject( subject ), mIntValue(-1), mStringValue(in)
00047 {
00048 };
00049
00050 LLMediaEvent( LLMediaBase* subject, std::string string_in, std::string string_ex_in ) :
00051 mSubject( subject ), mIntValue(-1), mStringValue(string_in), mStringValueEx(string_ex_in)
00052 {
00053 };
00054
00055 LLMediaEvent( LLMediaBase* subject, std::string string_in, int int_in ) :
00056 mSubject( subject ), mIntValue(int_in), mStringValue(string_in)
00057 {
00058 };
00059
00060 LLMediaEvent( LLMediaBase* subject, int in ) :
00061 mSubject( subject ), mIntValue(in)
00062 {
00063 };
00064
00065 virtual ~LLMediaEvent() { }
00066
00067 LLMediaBase* getSubject() const
00068 {
00069 return mSubject;
00070 };
00071
00072 int getIntValue() const
00073 {
00074 return mIntValue;
00075 }
00076
00077 std::string getStringValue() const
00078 {
00079 return mStringValue;
00080 }
00081
00082 std::string getStringValueEx() const
00083 {
00084 return mStringValueEx;
00085 }
00086
00087 private:
00088 LLMediaBase* mSubject;
00089 int mIntValue;
00090 std::string mStringValue;
00091 std::string mStringValueEx;
00092 };
00093
00094 class LLMediaObserver
00095 {
00096 public:
00097 virtual ~LLMediaObserver() {}
00098
00099 typedef LLMediaEvent EventType;
00100 virtual void onMediaPreroll( const EventType& event_in ) { }
00101 virtual void onMediaLoaded( const EventType& event_in ) { }
00102 virtual void onMediaSizeChange( const EventType& event_in ) { }
00103 virtual void onMediaContentsChange( const EventType& event_in ) { }
00104 virtual void onMediaStatusTextChange( const EventType& event_in ) { }
00105 virtual void onNavigateBegin( const EventType& event_in ) { }
00106 virtual void onNavigateComplete( const EventType& event_in ) { }
00107 virtual void onUpdateProgress( const EventType& event_in ) { }
00108 virtual void onStatusTextChange( const EventType& event_in ) { }
00109 virtual void onLocationChange( const EventType& event_in ) { }
00110 virtual void onClickLinkHref( const EventType& event_in ) { }
00111 virtual void onClickLinkNoFollow( const EventType& event_in ) { }
00112 };
00113
00114 #endif // LLMEDIAEOBSERVER_H