summaryrefslogtreecommitdiff
path: root/indra/llui/llnotifications.h
diff options
context:
space:
mode:
authorMonroe Linden <monroe@lindenlab.com>2010-12-20 11:21:17 -0800
committerMonroe Linden <monroe@lindenlab.com>2010-12-20 11:21:17 -0800
commitdee57bea2526c84fb753abfd08e22c19f1cad21c (patch)
tree7fbe9a8cbb5957b78a37eb13f58f8b6786ec8cac /indra/llui/llnotifications.h
parent67ca1c0b62cec74495104c0d78fc3743775bfd4e (diff)
parent25eef545fd7f6513ae4c590126aef1dc06494f56 (diff)
Merge from viewer-development.
Diffstat (limited to 'indra/llui/llnotifications.h')
-rw-r--r--indra/llui/llnotifications.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h
index a607f52b97..34d3537781 100644
--- a/indra/llui/llnotifications.h
+++ b/indra/llui/llnotifications.h
@@ -271,6 +271,11 @@ struct LLNotificationTemplate;
// with smart pointers
typedef boost::shared_ptr<LLNotificationTemplate> LLNotificationTemplatePtr;
+
+struct LLNotificationVisibilityRule;
+
+typedef boost::shared_ptr<LLNotificationVisibilityRule> LLNotificationVisibilityRulePtr;
+
/**
* @class LLNotification
* @brief The object that expresses the details of a notification
@@ -507,7 +512,7 @@ public:
std::string getLabel() const;
std::string getURL() const;
S32 getURLOption() const;
- S32 getURLOpenExternally() const;
+ S32 getURLOpenExternally() const;
const LLNotificationFormPtr getForm();
@@ -579,6 +584,8 @@ public:
bool hasUniquenessConstraints() const;
+ bool matchesTag(const std::string& tag);
+
virtual ~LLNotification() {}
};
@@ -860,6 +867,10 @@ public:
// OK to call more than once because it will reload
bool loadTemplates();
+ // load visibility rules from file;
+ // OK to call more than once because it will reload
+ bool loadVisibilityRules();
+
// Add a simple notification (from XUI)
void addFromCallback(const LLSD& name);
@@ -905,6 +916,8 @@ public:
// test for existence
bool templateExists(const std::string& name);
+ typedef std::list<LLNotificationVisibilityRulePtr> VisibilityRuleList;
+
void forceResponse(const LLNotification::Params& params, S32 option);
void createDefaultChannels();
@@ -920,6 +933,8 @@ public:
void setIgnoreAllNotifications(bool ignore);
bool getIgnoreAllNotifications();
+ bool isVisibleByRules(LLNotificationPtr pNotification);
+
private:
// we're a singleton, so we don't have a public constructor
LLNotifications();
@@ -939,6 +954,8 @@ private:
bool addTemplate(const std::string& name, LLNotificationTemplatePtr theTemplate);
TemplateMap mTemplates;
+ VisibilityRuleList mVisibilityRules;
+
std::string mFileName;
LLNotificationMap mUniqueNotifications;