method to change room adminpin (SEMS-57)

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1447 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Stefan Sayer 17 years ago
parent 5681c984f8
commit d5b8c3de39

@ -338,6 +338,10 @@ void WebConferenceFactory::invoke(const string& method,
} else if(method == "kickout"){
kickout(args, ret);
ret.push(getServerInfoString().c_str());
} else if(method == "changeRoomAdminpin"){
args.assertArrayFmt("sss");
changeRoomAdminpin(args, ret);
ret.push(getServerInfoString().c_str());
} else if(method == "serverInfo"){
serverInfo(args, ret);
ret.push(getServerInfoString().c_str());
@ -374,6 +378,7 @@ void WebConferenceFactory::invoke(const string& method,
ret.push("mute");
ret.push("unmute");
ret.push("kickout");
ret.push("changeRoomAdminpin");
ret.push("serverInfo");
ret.push("vqConferenceFeedback");
ret.push("vqCallFeedback");
@ -458,7 +463,7 @@ void WebConferenceFactory::roomInfo(const AmArg& args, AmArg& ret) {
assertArgCStr(args.get(0));
assertArgCStr(args.get(1));
string room = args.get(0).asCStr();
string adminpin = args.get(1).asCStr();;
string adminpin = args.get(1).asCStr();
rooms_mut.lock();
ConferenceRoom* r = getRoom(room, adminpin);
@ -637,6 +642,24 @@ void WebConferenceFactory::getRoomPassword(const AmArg& args, AmArg& ret) {
ret.push(res.c_str());
}
void WebConferenceFactory::changeRoomAdminpin(const AmArg& args, AmArg& ret) {
string room = args.get(0).asCStr();
string adminpin = args.get(1).asCStr();
string new_adminpin = args.get(2).asCStr();
rooms_mut.lock();
ConferenceRoom* r = getRoom(room, adminpin);
if (NULL == r) {
ret.push(1);
ret.push("wrong adminpin");
} else {
r->adminpin = new_adminpin;
ret.push(0);
ret.push("OK");
}
rooms_mut.unlock();
}
void WebConferenceFactory::listRooms(const AmArg& args, AmArg& ret) {
string pwd = args.get(0).asCStr();

@ -150,6 +150,7 @@ public:
void kickout(const AmArg& args, AmArg& ret);
void mute(const AmArg& args, AmArg& ret);
void unmute(const AmArg& args, AmArg& ret);
void changeRoomAdminpin(const AmArg& args, AmArg& ret);
void serverInfo(const AmArg& args, AmArg& ret);
void vqRoomFeedback(const AmArg& args, AmArg& ret);
void vqCallFeedback(const AmArg& args, AmArg& ret);

@ -92,6 +92,13 @@ unmute(string room, string adminpin, string call_tag) :
1 wrong adminpin
2 call does not exist in room
----
changeRoomAdminpin(string room, string adminpin, string new_adminpin) :
int code, string result
code/result:
0 OK
1 wrong adminpin
----
serverInfo():
string serverInfo
----

Loading…
Cancel
Save