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

模拟服务器

开发平台:

C/C++

  1. // This file is generated by omniidl (C++ backend)- omniORB_3_0. Do not edit.
  2. #include "AssistantServer.h"
  3. #include <omniORB3/tcDescriptor.h>
  4. static const char* _0RL_library_version = omniORB_3_0;
  5. static CORBA::PR_structMember _0RL_structmember_Message[] = {
  6.   {"MsgId", CORBA::TypeCode::PR_long_tc()},
  7.   {"PlayerId", CORBA::TypeCode::PR_long_tc()},
  8.   {"MsgData", CORBA::TypeCode::PR_any_tc()}
  9. };
  10. static CORBA::TypeCode_ptr _0RL_tc_Message = CORBA::TypeCode::PR_struct_tc("IDL:Message:1.0", "Message", _0RL_structmember_Message, 3);
  11. const CORBA::TypeCode_ptr _tc_Message = _0RL_tc_Message;
  12. static CORBA::TypeCode_ptr _0RL_tc_MessageSeq = CORBA::TypeCode::PR_alias_tc("IDL:MessageSeq:1.0", "MessageSeq", CORBA::TypeCode::PR_sequence_tc(0, _0RL_tc_Message));
  13. const CORBA::TypeCode_ptr _tc_MessageSeq = _0RL_tc_MessageSeq;
  14. const CORBA::TypeCode_ptr _tc_AssistantServer = CORBA::TypeCode::PR_interface_tc("IDL:AssistantServer:1.0", "AssistantServer");
  15. void _0RL_delete_Message(void* _data) {
  16.   Message* _0RL_t = (Message*) _data;
  17.   delete _0RL_t;
  18. }
  19. static CORBA::Boolean
  20. _0RL_tcParser_getMemberDesc_Message(tcStructDesc *_desc, CORBA::ULong _index, tcDescriptor &_newdesc){
  21.   switch (_index) {
  22.   case 0:
  23.     _0RL_buildDesc_clong(_newdesc, ((Message*)_desc->opq_struct)->MsgId);
  24.     return 1;
  25.   case 1:
  26.     _0RL_buildDesc_clong(_newdesc, ((Message*)_desc->opq_struct)->PlayerId);
  27.     return 1;
  28.   case 2:
  29.     _0RL_buildDesc_cany(_newdesc, ((Message*)_desc->opq_struct)->MsgData);
  30.     return 1;
  31.   
  32.   default:
  33.     return 0;
  34.   };
  35. }
  36. static CORBA::ULong
  37. _0RL_tcParser_getMemberCount_Message(tcStructDesc *_desc)
  38. {
  39.   return 3;
  40. }
  41. void _0RL_buildDesc_cMessage(tcDescriptor &_desc, const Message& _data)
  42. {
  43.   _desc.p_struct.getMemberDesc = _0RL_tcParser_getMemberDesc_Message;
  44.   _desc.p_struct.getMemberCount = _0RL_tcParser_getMemberCount_Message;
  45.   _desc.p_struct.opq_struct = (void *)&_data;
  46. }
  47. void operator<<=(CORBA::Any& _a, const Message& _s) {
  48.   tcDescriptor _0RL_tcdesc;
  49.   _0RL_buildDesc_cMessage(_0RL_tcdesc, _s);
  50.   _a.PR_packFrom(_0RL_tc_Message, &_0RL_tcdesc);
  51. }
  52. void operator<<=(CORBA::Any& _a, Message* _sp) {
  53.   tcDescriptor _0RL_tcdesc;
  54.   _0RL_buildDesc_cMessage(_0RL_tcdesc, *_sp);
  55.   _a.PR_packFrom(_0RL_tc_Message, &_0RL_tcdesc);
  56.   delete _sp;
  57. }
  58. CORBA::Boolean operator>>=(const CORBA::Any& _a, Message*& _sp) {
  59.   return _a >>= (const Message*&) _sp;
  60. }
  61. CORBA::Boolean operator>>=(const CORBA::Any& _a, const Message*& _sp) {
  62.   _sp = (Message *) _a.PR_getCachedData();
  63.   if (_sp == 0) {
  64.     tcDescriptor _0RL_tcdesc;
  65.     _sp = new Message;
  66.     _0RL_buildDesc_cMessage(_0RL_tcdesc, *_sp);
  67.     if (_a.PR_unpackTo(_0RL_tc_Message, &_0RL_tcdesc)) {
  68.       ((CORBA::Any *)&_a)->PR_setCachedData((void*)_sp, _0RL_delete_Message);
  69.       return 1;
  70.     } else {
  71.       delete (Message *)_sp; _sp = 0;
  72.       return 0;
  73.     }
  74.   } else {
  75.     CORBA::TypeCode_var _0RL_tctmp = _a.type();
  76.     if (_0RL_tctmp->equivalent(_0RL_tc_Message)) return 1;
  77.     _sp = 0;
  78.     return 0;
  79.   }
  80. }
  81. #ifndef __0RL_tcParser_buildDesc_s0_cMessage__
  82. #define __0RL_tcParser_buildDesc_s0_cMessage__
  83. static void
  84. _0RL_tcParser_setElementCount_s0_cMessage(tcSequenceDesc* _desc, CORBA::ULong _len)
  85. {
  86.   ((_CORBA_Unbounded_Sequence< Message> *)_desc->opq_seq)->length(_len);
  87. }
  88. static CORBA::ULong
  89. _0RL_tcParser_getElementCount_s0_cMessage(tcSequenceDesc* _desc)
  90. {
  91.   return ((_CORBA_Unbounded_Sequence< Message> *)_desc->opq_seq)->length();
  92. }
  93. static CORBA::Boolean
  94. _0RL_tcParser_getElementDesc_s0_cMessage(tcSequenceDesc* _desc, CORBA::ULong _index, tcDescriptor& _newdesc, _CORBA_ULong& _contiguous)
  95. {
  96.   _0RL_buildDesc_cMessage(_newdesc, (*((_CORBA_Unbounded_Sequence< Message> *)_desc->opq_seq))[_index]);
  97.   
  98.   return 1;
  99. }
  100. static void
  101. _0RL_buildDesc_s0_cMessage(tcDescriptor &_desc, const _CORBA_Unbounded_Sequence< Message> & _data)
  102. {
  103.   _desc.p_sequence.opq_seq = (void*) &_data;
  104.   _desc.p_sequence.setElementCount =
  105.     _0RL_tcParser_setElementCount_s0_cMessage;
  106.   _desc.p_sequence.getElementCount =
  107.     _0RL_tcParser_getElementCount_s0_cMessage;
  108.   _desc.p_sequence.getElementDesc =
  109.     _0RL_tcParser_getElementDesc_s0_cMessage;
  110.   }
  111. #endif
  112. void operator <<= (CORBA::Any& _a, const MessageSeq& _s)
  113. {
  114.   tcDescriptor tcdesc;
  115.   _0RL_buildDesc_s0_cMessage(tcdesc, _s);
  116.   _a.PR_packFrom(_tc_MessageSeq, &tcdesc);
  117. }
  118. void _0RL_seq_delete_MessageSeq(void* _data)
  119. {
  120.   delete (MessageSeq*)_data;
  121. }
  122. CORBA::Boolean operator >>= (const CORBA::Any& _a, MessageSeq*& _s_out)
  123. {
  124.   return _a >>= (const MessageSeq*&) _s_out;
  125. }
  126. CORBA::Boolean operator >>= (const CORBA::Any& _a, const MessageSeq*& _s_out)
  127. {
  128.   _s_out = 0;
  129.   MessageSeq* stmp = (MessageSeq*) _a.PR_getCachedData();
  130.   if( stmp == 0 ) {
  131.     tcDescriptor tcdesc;
  132.     stmp = new MessageSeq;
  133.     _0RL_buildDesc_s0_cMessage(tcdesc, *stmp);
  134.     if( _a.PR_unpackTo(_tc_MessageSeq, &tcdesc)) {
  135.       ((CORBA::Any*)&_a)->PR_setCachedData((void*)stmp, _0RL_seq_delete_MessageSeq);
  136.       _s_out = stmp;
  137.       return 1;
  138.     } else {
  139.       delete (MessageSeq *)stmp;
  140.       return 0;
  141.     }
  142.   } else {
  143.     CORBA::TypeCode_var tctmp = _a.type();
  144.     if( tctmp->equivalent(_tc_MessageSeq) ) {
  145.       _s_out = stmp;
  146.       return 1;
  147.     } else {
  148.       return 0;
  149.     }
  150.   }
  151. }
  152. static void
  153. _0RL_tcParser_setObjectPtr_AssistantServer(tcObjrefDesc *_desc, CORBA::Object_ptr _ptr)
  154. {
  155.   AssistantServer_ptr _p = AssistantServer::_narrow(_ptr);
  156.   AssistantServer_ptr* pp = (AssistantServer_ptr*)_desc->opq_objref;
  157.   if (_desc->opq_release && !CORBA::is_nil(*pp)) CORBA::release(*pp);
  158.   *pp = _p;
  159.   CORBA::release(_ptr);
  160. }
  161. static CORBA::Object_ptr
  162. _0RL_tcParser_getObjectPtr_AssistantServer(tcObjrefDesc *_desc)
  163. {
  164.   return (CORBA::Object_ptr) *((AssistantServer_ptr*)_desc->opq_objref);
  165. }
  166. void _0RL_buildDesc_cAssistantServer(tcDescriptor& _desc, const _CORBA_ObjRef_tcDesc_arg< _objref_AssistantServer, AssistantServer_Helper> & _d)
  167. {
  168.   _desc.p_objref.opq_objref = (void*) &_d._data;
  169.   _desc.p_objref.opq_release = _d._rel;
  170.   _desc.p_objref.setObjectPtr = _0RL_tcParser_setObjectPtr_AssistantServer;
  171.   _desc.p_objref.getObjectPtr = _0RL_tcParser_getObjectPtr_AssistantServer;
  172. }
  173. void _0RL_delete_AssistantServer(void* _data) {
  174.   CORBA::release((AssistantServer_ptr) _data);
  175. }
  176. void operator<<=(CORBA::Any& _a, AssistantServer_ptr _s) {
  177.   tcDescriptor tcd;
  178.   _CORBA_ObjRef_tcDesc_arg< _objref_AssistantServer, AssistantServer_Helper>  tmp(_s,0);
  179.   _0RL_buildDesc_cAssistantServer(tcd, tmp);
  180.   _a.PR_packFrom(_tc_AssistantServer, &tcd);
  181. }
  182. void operator<<=(CORBA::Any& _a, AssistantServer_ptr* _sp) {
  183.   _a <<= *_sp;
  184.   CORBA::release(*_sp);
  185.   *_sp = AssistantServer::_nil();
  186. }
  187. CORBA::Boolean operator>>=(const CORBA::Any& _a, AssistantServer_ptr& _s) {
  188.   AssistantServer_ptr sp = (AssistantServer_ptr) _a.PR_getCachedData();
  189.   if (sp == 0) {
  190.     tcDescriptor tcd;
  191.     AssistantServer_var tmp;
  192.     _0RL_buildDesc_cAssistantServer(tcd, tmp);
  193.     if( _a.PR_unpackTo(_tc_AssistantServer, &tcd) ) {
  194.       if (!omniORB::omniORB_27_CompatibleAnyExtraction) {
  195.         ((CORBA::Any*)&_a)->PR_setCachedData((void*)(AssistantServer_ptr)tmp,_0RL_delete_AssistantServer);
  196.       }
  197.       _s = tmp._retn();
  198.       return 1;
  199.     } else {
  200.       _s = AssistantServer::_nil(); return 0;
  201.     }
  202.   }
  203.   else {
  204.     CORBA::TypeCode_var tc = _a.type();
  205.     if (tc->equivalent(_tc_AssistantServer)) {
  206.     _s = sp; return 1;
  207.     }
  208.     else {
  209.     _s = AssistantServer::_nil(); return 0;
  210.     }
  211.   }
  212. }