AssistantServerSK.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:11k
源码类别:

模拟服务器

开发平台:

C/C++

  1. // This file is generated by omniidl (C++ backend)- omniORB_3_0. Do not edit.
  2. #include "AssistantServer.h"
  3. #include <omniORB3/callDescriptor.h>
  4. static const char* _0RL_library_version = omniORB_3_0;
  5. size_t
  6. Message::_NP_alignedSize(size_t _initialoffset) const
  7. {
  8.   CORBA::ULong _msgsize = _initialoffset;
  9.   _msgsize = omni::align_to(_msgsize, omni::ALIGN_4) + 4;
  10.   _msgsize = omni::align_to(_msgsize, omni::ALIGN_4) + 4;
  11.   _msgsize = MsgData._NP_alignedSize(_msgsize);
  12.   return _msgsize;
  13. }
  14. void
  15. Message::operator>>= (NetBufferedStream &_n) const
  16. {
  17.   MsgId >>= _n;
  18.   PlayerId >>= _n;
  19.   MsgData >>= _n;
  20.   
  21. }
  22. void
  23. Message::operator<<= (NetBufferedStream &_n)
  24. {
  25.   MsgId <<= _n;
  26.   PlayerId <<= _n;
  27.   MsgData <<= _n;
  28.   
  29. }
  30. void
  31. Message::operator>>= (MemBufferedStream &_n) const
  32. {
  33.   MsgId >>= _n;
  34.   PlayerId >>= _n;
  35.   MsgData >>= _n;
  36.   
  37. }
  38. void
  39. Message::operator<<= (MemBufferedStream &_n)
  40. {
  41.   MsgId <<= _n;
  42.   PlayerId <<= _n;
  43.   MsgData <<= _n;
  44.   
  45. }
  46. AssistantServer_ptr AssistantServer_Helper::_nil() {
  47.   return AssistantServer::_nil();
  48. }
  49. CORBA::Boolean AssistantServer_Helper::is_nil(AssistantServer_ptr p) {
  50.   return CORBA::is_nil(p);
  51. }
  52. void AssistantServer_Helper::release(AssistantServer_ptr p) {
  53.   CORBA::release(p);
  54. }
  55. void AssistantServer_Helper::duplicate(AssistantServer_ptr p) {
  56.   if( p && !p->_NP_is_nil() )  omni::duplicateObjRef(p);
  57. }
  58. size_t AssistantServer_Helper::NP_alignedSize(AssistantServer_ptr obj, size_t offset) {
  59.   return AssistantServer::_alignedSize(obj, offset);
  60. }
  61. void AssistantServer_Helper::marshalObjRef(AssistantServer_ptr obj, NetBufferedStream& s) {
  62.   AssistantServer::_marshalObjRef(obj, s);
  63. }
  64. AssistantServer_ptr AssistantServer_Helper::unmarshalObjRef(NetBufferedStream& s) {
  65.   return AssistantServer::_unmarshalObjRef(s);
  66. }
  67. void AssistantServer_Helper::marshalObjRef(AssistantServer_ptr obj, MemBufferedStream& s) {
  68.   AssistantServer::_marshalObjRef(obj, s);
  69. }
  70. AssistantServer_ptr AssistantServer_Helper::unmarshalObjRef(MemBufferedStream& s) {
  71.   return AssistantServer::_unmarshalObjRef(s);
  72. }
  73. AssistantServer_ptr
  74. AssistantServer::_duplicate(AssistantServer_ptr obj)
  75. {
  76.   if( obj && !obj->_NP_is_nil() )  omni::duplicateObjRef(obj);
  77.   return obj;
  78. }
  79. AssistantServer_ptr
  80. AssistantServer::_narrow(CORBA::Object_ptr obj)
  81. {
  82.   if( !obj || obj->_NP_is_nil() || obj->_NP_is_pseudo() ) return _nil();
  83.   _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  84.   return e ? e : _nil();
  85. }
  86. AssistantServer_ptr
  87. AssistantServer::_nil()
  88. {
  89.   static _objref_AssistantServer* _the_nil_ptr = 0;
  90.   if( !_the_nil_ptr ) {
  91.     omni::nilRefLock().lock();
  92.   if( !_the_nil_ptr )  _the_nil_ptr = new _objref_AssistantServer;
  93.     omni::nilRefLock().unlock();
  94.   }
  95.   return _the_nil_ptr;
  96. }
  97. const char* AssistantServer::_PD_repoId = "IDL:AssistantServer:1.0";
  98. _objref_AssistantServer::~_objref_AssistantServer() {}
  99. _objref_AssistantServer::_objref_AssistantServer(const char* mdri,
  100.    IOP::TaggedProfileList* p, omniIdentity* id, omniLocalIdentity* lid) :
  101.    
  102.    omniObjRef(AssistantServer::_PD_repoId, mdri, p, id, lid)
  103. {
  104.   _PR_setobj(this);
  105. }
  106. void*
  107. _objref_AssistantServer::_ptrToObjRef(const char* id)
  108. {
  109.   if( !strcmp(id, CORBA::Object::_PD_repoId) )
  110.     return (CORBA::Object_ptr) this;
  111.   if( !strcmp(id, AssistantServer::_PD_repoId) )
  112.     return (AssistantServer_ptr) this;
  113.   
  114.   return 0;
  115. }
  116. // Proxy call descriptor class. Mangled signature:
  117. //  _clong_i_cMessageSeq_i_cstring
  118. class _0RL_cd_7a99751ce44193ca_00000000
  119.   : public omniCallDescriptor
  120. {
  121. public:
  122.   inline _0RL_cd_7a99751ce44193ca_00000000(LocalCallFn lcfn, const char* op, size_t oplen, _CORBA_Boolean oneway, const MessageSeq& a_0, const char* a_1):
  123.      omniCallDescriptor(lcfn, op, oplen, oneway),
  124.      arg_0(a_0),
  125.      arg_1(a_1) {}
  126.   virtual CORBA::ULong alignedSize(CORBA::ULong size_in);
  127.   virtual void marshalArguments(GIOP_C&);
  128.   
  129.   virtual void unmarshalReturnedValues(GIOP_C&);
  130.     
  131.   inline CORBA::Long result() { return pd_result; }
  132.   const MessageSeq& arg_0;
  133.   const char* arg_1;
  134.   CORBA::Long pd_result;
  135. };
  136. CORBA::ULong _0RL_cd_7a99751ce44193ca_00000000::alignedSize(CORBA::ULong msgsize)
  137. {
  138.   msgsize = arg_0._NP_alignedSize(msgsize);
  139.   
  140.   msgsize = omni::align_to(msgsize, omni::ALIGN_4) + 4;
  141.   msgsize += ((const char*) arg_1) ? strlen((const char*) arg_1) + 1 : 1;
  142.   
  143.   return msgsize;
  144. }
  145. void _0RL_cd_7a99751ce44193ca_00000000::marshalArguments(GIOP_C& giop_client)
  146. {
  147.   arg_0 >>= giop_client;
  148.   {
  149.     CORBA::ULong _len = (((const char*) arg_1)? strlen((const char*) arg_1) + 1 : 1);
  150.     
  151.     _len >>= giop_client;
  152.     if (_len > 1)
  153.       giop_client.put_char_array((const CORBA::Char *)((const char*)arg_1),_len);
  154.     else {
  155.       if ((const char*) arg_1 == 0 && omniORB::traceLevel > 1)
  156.         _CORBA_null_string_ptr(0);
  157.       CORBA::Char('') >>= giop_client;
  158.     }
  159.   }
  160.   
  161. }
  162. void _0RL_cd_7a99751ce44193ca_00000000::unmarshalReturnedValues(GIOP_C& giop_client)
  163. {
  164.   
  165.   pd_result <<= giop_client;
  166.   
  167. }
  168. // Local call call-back function.
  169. static void
  170. _0RL_lcfn_7a99751ce44193ca_10000000(omniCallDescriptor* cd, omniServant* svnt)
  171. {
  172.   _0RL_cd_7a99751ce44193ca_00000000* tcd = (_0RL_cd_7a99751ce44193ca_00000000*) cd;
  173.   _impl_AssistantServer* impl = (_impl_AssistantServer*) svnt->_ptrToInterface(AssistantServer::_PD_repoId);
  174.   tcd->pd_result = impl->ExecuteSeq(tcd->arg_0, tcd->arg_1);
  175. }
  176. CORBA::Long _objref_AssistantServer::ExecuteSeq(const MessageSeq& MsgSeq, const char* DataServerName)
  177. {
  178.   _0RL_cd_7a99751ce44193ca_00000000 _call_desc(_0RL_lcfn_7a99751ce44193ca_10000000, "ExecuteSeq", 11, 0, MsgSeq, DataServerName);
  179.   
  180.   _invoke(_call_desc);
  181.   return _call_desc.result();
  182. }
  183. // Proxy call descriptor class. Mangled signature:
  184. //  _clong_i_cMessage_i_cstring
  185. class _0RL_cd_7a99751ce44193ca_20000000
  186.   : public omniCallDescriptor
  187. {
  188. public:
  189.   inline _0RL_cd_7a99751ce44193ca_20000000(LocalCallFn lcfn, const char* op, size_t oplen, _CORBA_Boolean oneway, const Message& a_0, const char* a_1):
  190.      omniCallDescriptor(lcfn, op, oplen, oneway),
  191.      arg_0(a_0),
  192.      arg_1(a_1) {}
  193.   virtual CORBA::ULong alignedSize(CORBA::ULong size_in);
  194.   virtual void marshalArguments(GIOP_C&);
  195.   
  196.   virtual void unmarshalReturnedValues(GIOP_C&);
  197.     
  198.   inline CORBA::Long result() { return pd_result; }
  199.   const Message& arg_0;
  200.   const char* arg_1;
  201.   CORBA::Long pd_result;
  202. };
  203. CORBA::ULong _0RL_cd_7a99751ce44193ca_20000000::alignedSize(CORBA::ULong msgsize)
  204. {
  205.   msgsize = arg_0._NP_alignedSize(msgsize);
  206.   
  207.   msgsize = omni::align_to(msgsize, omni::ALIGN_4) + 4;
  208.   msgsize += ((const char*) arg_1) ? strlen((const char*) arg_1) + 1 : 1;
  209.   
  210.   return msgsize;
  211. }
  212. void _0RL_cd_7a99751ce44193ca_20000000::marshalArguments(GIOP_C& giop_client)
  213. {
  214.   arg_0 >>= giop_client;
  215.   {
  216.     CORBA::ULong _len = (((const char*) arg_1)? strlen((const char*) arg_1) + 1 : 1);
  217.     
  218.     _len >>= giop_client;
  219.     if (_len > 1)
  220.       giop_client.put_char_array((const CORBA::Char *)((const char*)arg_1),_len);
  221.     else {
  222.       if ((const char*) arg_1 == 0 && omniORB::traceLevel > 1)
  223.         _CORBA_null_string_ptr(0);
  224.       CORBA::Char('') >>= giop_client;
  225.     }
  226.   }
  227.   
  228. }
  229. void _0RL_cd_7a99751ce44193ca_20000000::unmarshalReturnedValues(GIOP_C& giop_client)
  230. {
  231.   
  232.   pd_result <<= giop_client;
  233.   
  234. }
  235. // Local call call-back function.
  236. static void
  237. _0RL_lcfn_7a99751ce44193ca_30000000(omniCallDescriptor* cd, omniServant* svnt)
  238. {
  239.   _0RL_cd_7a99751ce44193ca_20000000* tcd = (_0RL_cd_7a99751ce44193ca_20000000*) cd;
  240.   _impl_AssistantServer* impl = (_impl_AssistantServer*) svnt->_ptrToInterface(AssistantServer::_PD_repoId);
  241.   tcd->pd_result = impl->Execute(tcd->arg_0, tcd->arg_1);
  242. }
  243. CORBA::Long _objref_AssistantServer::Execute(const Message& Msg, const char* DataServerName)
  244. {
  245.   _0RL_cd_7a99751ce44193ca_20000000 _call_desc(_0RL_lcfn_7a99751ce44193ca_30000000, "Execute", 8, 0, Msg, DataServerName);
  246.   
  247.   _invoke(_call_desc);
  248.   return _call_desc.result();
  249. }
  250. _pof_AssistantServer::~_pof_AssistantServer() {}
  251. omniObjRef*
  252. _pof_AssistantServer::newObjRef(const char* mdri, IOP::TaggedProfileList* p,
  253.                omniIdentity* id, omniLocalIdentity* lid)
  254. {
  255.   return new _objref_AssistantServer(mdri, p, id, lid);
  256. }
  257. CORBA::Boolean
  258. _pof_AssistantServer::is_a(const char* id) const
  259. {
  260.   if( !strcmp(id, AssistantServer::_PD_repoId) )
  261.     return 1;
  262.   
  263.   return 0;
  264. }
  265. const _pof_AssistantServer _the_pof_AssistantServer;
  266. _impl_AssistantServer::~_impl_AssistantServer() {}
  267. CORBA::Boolean
  268. _impl_AssistantServer::_dispatch(GIOP_S& giop_s)
  269. {
  270.   if( !strcmp(giop_s.operation(), "ExecuteSeq") ) {
  271.     
  272.     MessageSeq arg_MsgSeq;
  273.     
  274.     arg_MsgSeq <<= giop_s;
  275.     CORBA::String_var arg_DataServerName;
  276.     
  277.     {
  278.       CORBA::String_member _0RL_str_tmp;
  279.       _0RL_str_tmp <<=  giop_s;
  280.       arg_DataServerName = _0RL_str_tmp._ptr;
  281.       _0RL_str_tmp._ptr = 0;
  282.     }
  283.     
  284.     giop_s.RequestReceived();
  285.     CORBA::Long result;
  286.     
  287.     result = this->ExecuteSeq(arg_MsgSeq, arg_DataServerName.in());
  288.     
  289.     if( giop_s.response_expected() ) {
  290.       size_t msgsize = (size_t) GIOP_S::ReplyHeaderSize();
  291.       msgsize = omni::align_to(msgsize, omni::ALIGN_4) + 4;
  292.       
  293.       giop_s.InitialiseReply(GIOP::NO_EXCEPTION, (CORBA::ULong) msgsize);
  294.       result >>= giop_s;
  295.       
  296.     }
  297.     giop_s.ReplyCompleted();
  298.     return 1;
  299.   }
  300.   if( !strcmp(giop_s.operation(), "Execute") ) {
  301.     
  302.     Message arg_Msg;
  303.     
  304.     arg_Msg <<= giop_s;
  305.     CORBA::String_var arg_DataServerName;
  306.     
  307.     {
  308.       CORBA::String_member _0RL_str_tmp;
  309.       _0RL_str_tmp <<=  giop_s;
  310.       arg_DataServerName = _0RL_str_tmp._ptr;
  311.       _0RL_str_tmp._ptr = 0;
  312.     }
  313.     
  314.     giop_s.RequestReceived();
  315.     CORBA::Long result;
  316.     
  317.     result = this->Execute(arg_Msg, arg_DataServerName.in());
  318.     
  319.     if( giop_s.response_expected() ) {
  320.       size_t msgsize = (size_t) GIOP_S::ReplyHeaderSize();
  321.       msgsize = omni::align_to(msgsize, omni::ALIGN_4) + 4;
  322.       
  323.       giop_s.InitialiseReply(GIOP::NO_EXCEPTION, (CORBA::ULong) msgsize);
  324.       result >>= giop_s;
  325.       
  326.     }
  327.     giop_s.ReplyCompleted();
  328.     return 1;
  329.   }
  330.   return 0;
  331. }
  332. void*
  333. _impl_AssistantServer::_ptrToInterface(const char* id)
  334. {
  335.   if( !strcmp(id, CORBA::Object::_PD_repoId) )
  336.     return (void*) 1;
  337.   if( !strcmp(id, AssistantServer::_PD_repoId) )
  338.     return (_impl_AssistantServer*) this;
  339.   
  340.   return 0;
  341. }
  342. const char*
  343. _impl_AssistantServer::_mostDerivedRepoId()
  344. {
  345.   return AssistantServer::_PD_repoId;
  346. }
  347. POA_AssistantServer::~POA_AssistantServer() {}