⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compatiblecorba.cpp

📁 java开源的企业总线.xmlBlaster
💻 CPP
字号:
/*----------------------------------------------------------------------------Name:      CompatibleCorba.cppProject:   xmlBlaster.orgCopyright: xmlBlaster.org, see xmlBlaster-LICENSE fileComment:   functions to encapsulate corba-implementor specific stuffVersion:   $Id: CompatibleCorba.cpp 16474 2007-09-06 22:34:23Z laghi $Author:    <Michele Laghi> michele@laghi.eu----------------------------------------------------------------------------*/#ifdef _WINDOWS#pragma warning(disable:4786)#pragma warning(disable:4251)#endif#include <client/protocol/corba/CompatibleCorba.h>#include <util/lexical_cast.h>using namespace std;/* * Further implementor specific macros which must be called after having * included the CORBA header files  */# ifdef XBL_IDL_WITH_WSTRINGvoid string2wstring(std::wstring &dest,const std::string &src){    dest.resize(src.size());    for (uint32_t i=0; i<src.size(); i++)        dest[i] = static_cast<unsigned char>(src[i]);/*   int xlen = src.size()+1;   wchar_t *x = new wchar_t[xlen]; // Temp buffer   mbstowcs(x, src.c_str(), xlen);   dest = x;   delete [] x; // Clean up temp buffer   mbstate_t ps;   int xlen = src.size()+1;   wchar_t *cdest = new wchar_t[xlen]; // Temp buffer   mbsrtowcs(cdest, &src.c_str(), xlen, &ps);   dest = cdest;   delete [] cdest; // Clean up temp buffer*/}void wstring2string(std::string &dest,const std::wstring &src){    dest.resize(src.size());    for (uint32_t i=0; i<src.size(); i++)        dest[i] = src[i] < 256 ? src[i] : ' ';}std::wstring toWstring(const std::string &src){   std::wstring dest;   string2wstring(dest,src);   return dest;}std::string toString(const std::wstring &src){   string dest;   wstring2string(dest,src);   return dest;}std::string corbaWStringToString(const CORBA::WString_var &src){   std::string dest;   wstring2string(dest,wstring(src));   return dest;}CORBA::WString_var toCorbaWString(const std::string &src){   setlocale(LC_ALL, ""); // set the locale   std::wstring dest = toWstring(src);   //wcout << L"CompatibleCorba: Sending now: " << dest << endl;   CORBA::WString_var var = CORBA::wstring_dup(dest.c_str());   //cout << "CompatibleCorba: Sending now CORBA: " << corbaWStringToString(var) << endl;   return var;   // Who does CORBA::wstring_free() ??}# else // XBL_IDL_WITH_WSTRINGstd::string corbaWStringToString(const char *src){   std::string dest(src);   return dest;}const char *toCorbaWString(const std::string &src){   return src.c_str();}# endif // XBL_IDL_WITH_WSTRING/****************************************************************** *                      OMNIORB (4.1.1) ******************************************************************/#ifdef  XMLBLASTER_OMNIORBstring to_string(const CORBA::Exception &ex) {   string name(ex._name());   string repId(ex._rep_id());   string ret = "CORBA::Exception name=" + name          + " repId=" + repId;   return ret;}#endif  // XMLBLASTER_OMNIORB/****************************************************************** *                      ORBACUS (OB-4.03) ******************************************************************/#ifdef  XMLBLASTER_ORBACUSstring to_string(const CORBA::Exception &ex) {   string name(ex._name());   string repId(ex._rep_id());   string ret = "CORBA::Exception name=" + name          + " repId=" + repId;   return ret;}#endif  // XMLBLASTER_ORBACUS/***************************************************************** *                     MICO (ver. 2.3.1) *****************************************************************/#ifdef  XMLBLASTER_MICOstring to_string(const CORBA::Exception &ex) {   return ex._repoid();}#endif  // XMLBLASTER_MICO/***************************************************************** *                    ORBIX 2000 (ver 2.0)  *****************************************************************/#ifdef XMLBLASTER_ORBIXstring to_string(const CORBA::Exception &ex ) {  return ex._rep_id();}#endif //XMLBLASTER_ORBIX#ifdef  XMLBLASTER_TAOstring to_string(const CORBA::Exception &ex) {   string name(ex._name());   string repId(ex._rep_id());   //string typeCode(ex._type());   //string info(ex._info()); // info is not portable   string ret = "CORBA::Exception name=" + name          + " repId=" + repId          //+ " typeCode=" + typeCode          //+ " info=" + info          ;   return ret.c_str();}#endif  // XMLBLASTER_TAO

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -