protocol/corba/xmlBlaster.idl

Go to the documentation of this file.
00001 /*------------------------------------------------------------------------------
00002 Name:      xmlBlaster.idl
00003 Project:   xmlBlaster.org
00004 Task:      Server interface
00005 Copyright: xmlBlaster.org, see xmlBlaster-LICENSE file
00006 Comment:   String arguments should never be null, use "" instead
00007 Compile:   JacORB Java 1.2:
00008               $JacORB_HOME/bin/idl -p org.xmlBlaster -d ${XMLBLASTER_HOME}/src/java xmlBlaster.idl
00009            VisiBroker (no JacORB should be in CLASSPATH) Java 1.2:
00010               ${VBROKER_PATH}/bin/idl2java -root_dir ${XMLBLASTER_HOME}/src/java xmlBlaster.idl
00011            MICO C++:
00012               $CORBACPP_HOME/bin/idl --poa --no-boa xmlBlaster.idl
00013            COPE Perl:
00014               idl2perl -imp xmlBlaster.idl
00015 Author:    xmlBlaster@marcelruff.info
00016 Version:   $Id: xmlBlaster.idl 15026 2006-04-10 16:56:35Z ruff $
00017 ------------------------------------------------------------------------------*/
00018 
00019 #ifndef _xmlBlaster_IDL_
00020 #define _xmlBlaster_IDL_
00021 
00022 
00023 #pragma prefix "org.xmlBlaster.protocol.corba"
00024 
00025 
00029 module serverIdl
00030 {
00031 //This ifdef works with jacorb, but is not added to build.xml for C++ idl compilers
00032 //#ifdef XBL_IDL_WSTRING
00033       // Works fine with Javaclient    -> xmlBlaster
00034       // but failed with MicoC++Client -> xmlBlaster, the received ConnectQos wstring was empty, is not yet resolved
00035 //   typedef wstring XmlType; 
00036 //#else
00037    typedef string XmlType;
00038 //#endif
00039    typedef sequence<XmlType> XmlTypeArr;
00040 
00041    typedef sequence<octet> ContentType;
00042 
00051    struct MessageUnit {
00052       XmlType xmlKey;
00053       ContentType content;
00054       XmlType qos;
00055    };
00056    typedef sequence<MessageUnit> MessageUnitArr;
00057 
00058 
00062    exception XmlBlasterException
00063    {
00064       string errorCodeStr;
00065       string node;
00066       string location;
00067       string lang;
00068       string message;
00069       string versionInfo;
00070       string timestampStr;
00071       string stackTrace;
00072       string embeddedMessage;
00073       string transactionInfo;
00074       string reserved;
00075       // TODO: boolean isServerSide;
00076    };
00077 
00078 }; // org::xmlBlaster::protocol::corba::serverIdl
00079 
00080 
00081 
00082 
00090 module clientIdl
00091 {
00098    interface BlasterCallback
00099    {
00112      serverIdl::XmlTypeArr update(in string sessionId, in serverIdl::MessageUnitArr msgUnitArr)
00113                                 raises(serverIdl::XmlBlasterException);
00114 
00124      oneway void updateOneway(in string sessionId, in serverIdl::MessageUnitArr msgUnitArr);
00125 
00132       string ping(in string qos);
00133    };
00134 
00135 }; // org::xmlBlaster::protocol::corba::clientIdl
00136 
00137 
00138 
00142 module serverIdl
00143 {
00202    interface Server
00203    {
00226       XmlType subscribe(in XmlType xmlKey, in XmlType qos)
00227                                           raises(XmlBlasterException);
00228 
00229 
00241       MessageUnitArr get(in XmlType xmlKey, in XmlType qos)
00242                                           raises(XmlBlasterException);
00243 
00244 
00256       XmlTypeArr unSubscribe(in XmlType xmlKey, in XmlType qos)
00257                                           raises(XmlBlasterException);
00258 
00259 
00274       XmlType publish(in MessageUnit msgUnit)
00275                                           raises(XmlBlasterException);
00276 
00295       XmlTypeArr publishArr(in MessageUnitArr msgUnitArr)
00296                                           raises(XmlBlasterException);
00297 
00309       oneway void publishOneway(in MessageUnitArr msgUnitArr);
00310 
00316       XmlTypeArr erase(in XmlType xmlKey, in XmlType qos)
00317                                           raises(XmlBlasterException);
00318 
00319 
00326       string ping(in string qos);
00327 
00328    }; // interface server
00329 
00330 }; // org::xmlBlaster::protocol::corba::serverIdl
00331 
00332 
00333 
00341 module authenticateIdl
00342 {
00343    interface AuthServer
00344    {
00348       serverIdl::Server login(in string loginName, in string passwd,
00349                               in serverIdl::XmlType qosClient)
00350                               raises (serverIdl::XmlBlasterException);
00351 
00366       serverIdl::XmlType connect(in serverIdl::XmlType qos)
00367                               raises (serverIdl::XmlBlasterException);
00368 
00372       void logout(in serverIdl::Server xmlBlaster)
00373                   raises (serverIdl::XmlBlasterException);
00374 
00382       void disconnect(in string sessionId, in serverIdl::XmlType qos)
00383                       raises (serverIdl::XmlBlasterException);
00384 
00391       string ping(in string qos);
00392    };
00393 }; // org::xmlBlaster::protocol::corba::authenticateIdl
00394 
00395 
00396 
00397 #endif // _xmlBlaster_IDL_