// The contents of this file are subject to the Mozilla Public License Version 1.1
// (the "License"); you may not use this file except in compliance with the License.
// You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
// 
// Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
// WARRANTY OF ANY KIND, either express or implied. See the License for the specific
// language governing rights and limitations under the License.
// 
// The Original Code is the Venice Web Communities System.
// 
// The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
// for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
// Copyright (C) 2002 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
// 
// Contributor(s): 

// Implements the conferencing topic API

importPackage(java.util);
importPackage(Packages.com.silverwrist.venice.core);
importPackage(Packages.com.silverwrist.venice.ui.rpc);

rinput = bsf.lookupBean("request");
xreq = bsf.lookupBean("xmlrpc");
env = bsf.lookupBean("environment");
call_name = env.get("call");

// All methods have at least three parameters: session, community, conference.
if (xreq.paramCount<3)
{ // not enough parameters
  vlib.output(new XmlRpcFault(XmlRpcFault.INVALID_PARAMS,"parameter count mismatch"));
  vlib.done();

} // end if

comm = xreq.getParamCommunity(1);
conf = xreq.getParamConference(2,comm);

if ("name"==call_name)
{ // venice:conferencing.conference.name <session-id> <community> <conference> [<new-name>]
  // Retrieves or sets the conference name.
  if (xreq.paramCount==3)
    vlib.output(conf.name);
  else if (xreq.paramCount==4)
  { // set the name
    name = xreq.getParamString(3);
    conf.name = name;
    vlib.output(name);  // output the new name on success

  } // end else if
  else  // wrong parameter count
    vlib.output(new XmlRpcFault(XmlRpcFault.INVALID_PARAMS,"parameter count mismatch"));

  vlib.done();
    
} // end if

// just in case there's a method name that wasn't listed
vlib.output(new XmlRpcFault(XmlRpcFault.METHOD_NOT_FOUND,"invalid method name: " + xreq.method));
