mirror of
https://github.com/mumble-voip/mumble.git
synced 2025-10-26 11:19:16 +00:00
hasPermission for Ice
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@1548 05730e5d-ab1b-0410-a4ac-84af385074fa
This commit is contained in:
parent
5001daa721
commit
b36bfdf9c3
@ -484,6 +484,14 @@ module Murmur
|
||||
*/
|
||||
void sendMessage(int session, string text) throws ServerBootedException, InvalidSessionException;
|
||||
|
||||
/** Check if player is permitted to perform action.
|
||||
* @param session Connection ID of player. See [Player::session].
|
||||
* @param channelid ID of Channel. See [Channel::id].
|
||||
* @param perm Permission bits to check.
|
||||
* @return true if any of the permissions in perm were set for the user.
|
||||
*/
|
||||
bool hasPermission(int session, int channelid, int perm) throws ServerBootedException, InvalidSessionException, InvalidChannelException;
|
||||
|
||||
/** Add a context callback. This is done per player, and will add a context menu action for the player.
|
||||
*
|
||||
* @param session Session of user which should receive context entry.
|
||||
|
||||
@ -75,6 +75,8 @@ class ServerI : virtual public Server {
|
||||
const ::std::string&,
|
||||
const Ice::Current&);
|
||||
|
||||
virtual void hasPermission_async(const ::Murmur::AMD_Server_hasPermissionPtr&, ::Ice::Int, ::Ice::Int, ::Ice::Int, const ::Ice::Current&);
|
||||
|
||||
virtual void addContextCallback_async(const ::Murmur::AMD_Server_addContextCallbackPtr&, ::Ice::Int, const ::std::string&, const ::std::string&, const ::Murmur::ServerContextCallbackPrx&, int, const ::Ice::Current&);
|
||||
virtual void removeContextCallback_async(const ::Murmur::AMD_Server_removeContextCallbackPtr&, const ::Murmur::ServerContextCallbackPrx&, const ::Ice::Current&);
|
||||
|
||||
|
||||
@ -658,7 +658,7 @@ static void impl_Server_delete(const ::Murmur::AMD_Server_deletePtr cb, int serv
|
||||
cb->ice_response();
|
||||
}
|
||||
|
||||
static void impl_Server_addCallback(const Murmur::AMD_Server_addCallbackPtr &cb, int server_id, const Murmur::ServerCallbackPrx& cbptr) {
|
||||
static void impl_Server_addCallback(const Murmur::AMD_Server_addCallbackPtr cb, int server_id, const Murmur::ServerCallbackPrx& cbptr) {
|
||||
NEED_SERVER;
|
||||
QList< ::Murmur::ServerCallbackPrx> &qmList = mi->qmServerCallbacks[server_id];
|
||||
|
||||
@ -672,7 +672,7 @@ static void impl_Server_addCallback(const Murmur::AMD_Server_addCallbackPtr &cb,
|
||||
}
|
||||
}
|
||||
|
||||
static void impl_Server_removeCallback(const Murmur::AMD_Server_removeCallbackPtr &cb, int server_id, const Murmur::ServerCallbackPrx& cbptr) {
|
||||
static void impl_Server_removeCallback(const Murmur::AMD_Server_removeCallbackPtr cb, int server_id, const Murmur::ServerCallbackPrx& cbptr) {
|
||||
NEED_SERVER;
|
||||
QList< ::Murmur::ServerCallbackPrx> &qmList = mi->qmServerCallbacks[server_id];
|
||||
|
||||
@ -865,7 +865,14 @@ static void impl_Server_sendMessage(const ::Murmur::AMD_Server_sendMessagePtr cb
|
||||
cb->ice_response();
|
||||
}
|
||||
|
||||
static void impl_Server_addContextCallback(const Murmur::AMD_Server_addContextCallbackPtr &cb, int server_id, ::Ice::Int session, const ::std::string& action, const ::std::string& text, const ::Murmur::ServerContextCallbackPrx& cbptr, int ctx) {
|
||||
static void impl_Server_hasPermission(const ::Murmur::AMD_Server_hasPermissionPtr cb, int server_id, ::Ice::Int session, ::Ice::Int channelid, ::Ice::Int perm) {
|
||||
NEED_SERVER;
|
||||
NEED_PLAYER;
|
||||
NEED_CHANNEL;
|
||||
cb->ice_response(server->hasPermission(user, channel, static_cast<ChanACL::Perm>(perm)));
|
||||
}
|
||||
|
||||
static void impl_Server_addContextCallback(const Murmur::AMD_Server_addContextCallbackPtr cb, int server_id, ::Ice::Int session, const ::std::string& action, const ::std::string& text, const ::Murmur::ServerContextCallbackPrx& cbptr, int ctx) {
|
||||
NEED_SERVER;
|
||||
NEED_PLAYER;
|
||||
|
||||
@ -893,7 +900,7 @@ static void impl_Server_addContextCallback(const Murmur::AMD_Server_addContextCa
|
||||
server->sendMessage(user, &mcaa);
|
||||
}
|
||||
|
||||
static void impl_Server_removeContextCallback(const Murmur::AMD_Server_removeContextCallbackPtr &cb, int server_id, const Murmur::ServerContextCallbackPrx& cbptr) {
|
||||
static void impl_Server_removeContextCallback(const Murmur::AMD_Server_removeContextCallbackPtr cb, int server_id, const Murmur::ServerContextCallbackPrx& cbptr) {
|
||||
NEED_SERVER;
|
||||
|
||||
QMap<int, QMap<QString, ::Murmur::ServerContextCallbackPrx> > & qmPrx = mi->qmServerContextCallbacks[server_id];
|
||||
@ -1297,7 +1304,7 @@ static void impl_Meta_getVersion(const ::Murmur::AMD_Meta_getVersionPtr cb, cons
|
||||
cb->ice_response(major, minor, patch, toStdUtf8String(txt));
|
||||
}
|
||||
|
||||
static void impl_Meta_addCallback(const Murmur::AMD_Meta_addCallbackPtr &cb, const Ice::ObjectAdapterPtr, const Murmur::MetaCallbackPrx& cbptr) {
|
||||
static void impl_Meta_addCallback(const Murmur::AMD_Meta_addCallbackPtr cb, const Ice::ObjectAdapterPtr, const Murmur::MetaCallbackPrx& cbptr) {
|
||||
try {
|
||||
const Murmur::MetaCallbackPrx &oneway = Murmur::MetaCallbackPrx::checkedCast(cbptr->ice_oneway());
|
||||
if (! mi->qmMetaCallbacks.contains(oneway))
|
||||
@ -1308,7 +1315,7 @@ static void impl_Meta_addCallback(const Murmur::AMD_Meta_addCallbackPtr &cb, con
|
||||
}
|
||||
}
|
||||
|
||||
static void impl_Meta_removeCallback(const Murmur::AMD_Meta_removeCallbackPtr &cb, const Ice::ObjectAdapterPtr, const Murmur::MetaCallbackPrx& cbptr) {
|
||||
static void impl_Meta_removeCallback(const Murmur::AMD_Meta_removeCallbackPtr cb, const Ice::ObjectAdapterPtr, const Murmur::MetaCallbackPrx& cbptr) {
|
||||
try {
|
||||
const Murmur::MetaCallbackPrx &oneway = Murmur::MetaCallbackPrx::uncheckedCast(cbptr->ice_oneway());
|
||||
mi->qmMetaCallbacks.removeAll(oneway);
|
||||
|
||||
@ -86,6 +86,10 @@ void ::Murmur::ServerI::sendMessage_async(const ::Murmur::AMD_Server_sendMessage
|
||||
IceEvent *ie = new IceEvent(boost::bind(&impl_Server_sendMessage, cb, QString::fromStdString(current.id.name).toInt(), p1, p2));
|
||||
QCoreApplication::instance()->postEvent(mi, ie);
|
||||
};
|
||||
void ::Murmur::ServerI::hasPermission_async(const ::Murmur::AMD_Server_hasPermissionPtr &cb, ::Ice::Int p1, ::Ice::Int p2, ::Ice::Int p3, const ::Ice::Current ¤t) {
|
||||
IceEvent *ie = new IceEvent(boost::bind(&impl_Server_hasPermission, cb, QString::fromStdString(current.id.name).toInt(), p1, p2, p3));
|
||||
QCoreApplication::instance()->postEvent(mi, ie);
|
||||
};
|
||||
void ::Murmur::ServerI::addContextCallback_async(const ::Murmur::AMD_Server_addContextCallbackPtr &cb, ::Ice::Int p1, const ::std::string& p2, const ::std::string& p3, const ::Murmur::ServerContextCallbackPrx& p4, ::Ice::Int p5, const ::Ice::Current ¤t) {
|
||||
IceEvent *ie = new IceEvent(boost::bind(&impl_Server_addContextCallback, cb, QString::fromStdString(current.id.name).toInt(), p1, p2, p3, p4, p5));
|
||||
QCoreApplication::instance()->postEvent(mi, ie);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user