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