diff options
Diffstat (limited to 'indra/llui/llnotifications.h')
-rw-r--r-- | indra/llui/llnotifications.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h index 19895c3293..0d7cb74f70 100644 --- a/indra/llui/llnotifications.h +++ b/indra/llui/llnotifications.h @@ -102,7 +102,7 @@ #include "llfunctorregistry.h" #include "llpointer.h" #include "llinitparam.h" -#include "llxmlnode.h" +#include "llnotificationslistener.h" class LLNotification; typedef boost::shared_ptr<LLNotification> LLNotificationPtr; @@ -160,7 +160,7 @@ public: LLNotificationForm(); LLNotificationForm(const LLSD& sd); LLNotificationForm(const std::string& name, - const LLPointer<LLXMLNode> xml_node); + const LLPointer<class LLXMLNode> xml_node); LLSD asLLSD() const; @@ -813,9 +813,19 @@ private: LLNotificationComparator mComparator; }; - +// An interface class to provide a clean linker seam to the LLNotifications class. +// Extend this interface as needed for your use of LLNotifications. +class LLNotificationsInterface +{ +public: + virtual LLNotificationPtr add(const std::string& name, + const LLSD& substitutions, + const LLSD& payload, + LLNotificationFunctorRegistry::ResponseFunctor functor) = 0; +}; class LLNotifications : + public LLNotificationsInterface, public LLSingleton<LLNotifications>, public LLNotificationChannelBase { @@ -839,7 +849,7 @@ public: const LLSD& substitutions, const LLSD& payload, const std::string& functor_name); - LLNotificationPtr add(const std::string& name, + /* virtual */ LLNotificationPtr add(const std::string& name, const LLSD& substitutions, const LLSD& payload, LLNotificationFunctorRegistry::ResponseFunctor functor); @@ -918,6 +928,8 @@ private: GlobalStringMap mGlobalStrings; bool mIgnoreAllNotifications; + + boost::scoped_ptr<LLNotificationsListener> mListener; }; |