Automated merge with http://hg.secondlife.com/viewer-release
commit
b4796595f2
|
|
@ -1189,6 +1189,7 @@ void LLNotificationChannel::connectToChannel( const std::string& channel_name )
|
|||
}
|
||||
else
|
||||
{
|
||||
mParents.push_back(channel_name);
|
||||
LLNotificationChannelPtr p = LLNotifications::instance().getChannel(channel_name);
|
||||
p->connectChanged(boost::bind(&LLNotificationChannelBase::updateItem, this, _1));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@
|
|||
#include <boost/enable_shared_from_this.hpp>
|
||||
#include <boost/type_traits.hpp>
|
||||
#include <boost/signals2.hpp>
|
||||
#include <boost/range.hpp>
|
||||
|
||||
#include "llevents.h"
|
||||
#include "llfunctorregistry.h"
|
||||
|
|
@ -840,6 +841,11 @@ public:
|
|||
typedef LLNotificationSet::iterator Iterator;
|
||||
|
||||
std::string getName() const { return mName; }
|
||||
typedef std::vector<std::string>::const_iterator parents_iter;
|
||||
boost::iterator_range<parents_iter> getParents() const
|
||||
{
|
||||
return boost::iterator_range<parents_iter>(mParents);
|
||||
}
|
||||
|
||||
void connectToChannel(const std::string& channel_name);
|
||||
|
||||
|
|
@ -854,7 +860,7 @@ public:
|
|||
|
||||
private:
|
||||
std::string mName;
|
||||
std::string mParent;
|
||||
std::vector<std::string> mParents;
|
||||
};
|
||||
|
||||
// An interface class to provide a clean linker seam to the LLNotifications class.
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
#include "llnotificationtemplate.h"
|
||||
#include "llsd.h"
|
||||
#include "llui.h"
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
LLNotificationsListener::LLNotificationsListener(LLNotifications & notifications) :
|
||||
LLEventAPI("LLNotifications",
|
||||
|
|
@ -42,11 +43,10 @@ LLNotificationsListener::LLNotificationsListener(LLNotifications & notifications
|
|||
"Add a notification with specified [\"name\"], [\"substitutions\"] and [\"payload\"].\n"
|
||||
"If optional [\"reply\"] specified, arrange to send user response on that LLEventPump.",
|
||||
&LLNotificationsListener::requestAdd);
|
||||
/* add("listChannels",
|
||||
add("listChannels",
|
||||
"Post to [\"reply\"] a map of info on existing channels",
|
||||
&LLNotificationsListener::listChannels,
|
||||
LLSD().with("reply", LLSD()));
|
||||
*/
|
||||
add("listChannelNotifications",
|
||||
"Post to [\"reply\"] an array of info on notifications in channel [\"channel\"]",
|
||||
&LLNotificationsListener::listChannelNotifications,
|
||||
|
|
@ -117,26 +117,27 @@ void LLNotificationsListener::NotificationResponder(const std::string& reply_pum
|
|||
reponse_event["response"] = response;
|
||||
LLEventPumps::getInstance()->obtain(reply_pump).post(reponse_event);
|
||||
}
|
||||
/*
|
||||
|
||||
void LLNotificationsListener::listChannels(const LLSD& params) const
|
||||
{
|
||||
LLReqID reqID(params);
|
||||
LLSD response(reqID.makeResponse());
|
||||
for (LLNotifications::
|
||||
|
||||
|
||||
|
||||
for (LLNotifications::ChannelMap::const_iterator cmi(mNotifications.mChannels.begin()),
|
||||
cmend(mNotifications.mChannels.end());
|
||||
for (LLNotificationChannel::instance_iter cmi(LLNotificationChannel::beginInstances()),
|
||||
cmend(LLNotificationChannel::endInstances());
|
||||
cmi != cmend; ++cmi)
|
||||
{
|
||||
LLSD channelInfo;
|
||||
channelInfo["parent"] = cmi->second->getParentChannelName();
|
||||
response[cmi->first] = channelInfo;
|
||||
LLSD channelInfo, parents;
|
||||
BOOST_FOREACH(const std::string& parent, cmi->getParents())
|
||||
{
|
||||
parents.append(parent);
|
||||
}
|
||||
channelInfo["parents"] = parents;
|
||||
channelInfo["parent"] = parents.size()? parents[0] : "";
|
||||
response[cmi->getName()] = channelInfo;
|
||||
}
|
||||
LLEventPumps::instance().obtain(params["reply"]).post(response);
|
||||
}
|
||||
*/
|
||||
|
||||
void LLNotificationsListener::listChannelNotifications(const LLSD& params) const
|
||||
{
|
||||
LLReqID reqID(params);
|
||||
|
|
|
|||
Loading…
Reference in New Issue