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

📄 testi.cpp

📁 ICE-3.2 一个开源的中间件
💻 CPP
字号:
// **********************************************************************//// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.//// This copy of Ice is licensed to you under the terms described in the// ICE_LICENSE file included in this distribution.//// **********************************************************************#include <Ice/Ice.h>#include <IceUtil/IceUtil.h>#include <TestI.h>#include <TestCommon.h>#include <functional>#ifdef __BCPLUSPLUS__#  include <iterator>#endifMyDerivedClassI::MyDerivedClassI(const Ice::ObjectAdapterPtr& adapter, const Ice::Identity& identity) :    _adapter(adapter),    _identity(identity){}voidMyDerivedClassI::shutdown(const Ice::Current&){    _adapter->getCommunicator()->shutdown();}voidMyDerivedClassI::opVoid(const Ice::Current&){}voidMyDerivedClassI::opSleep(int duration, const Ice::Current&){    IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(duration));}Ice::ByteMyDerivedClassI::opByte(Ice::Byte p1,                        Ice::Byte p2,                        Ice::Byte& p3,                        const Ice::Current&){    p3 = p1 ^ p2;    return p1;}boolMyDerivedClassI::opBool(bool p1,                        bool p2,                        bool& p3,                        const Ice::Current&){    p3 = p1;    return p2;}Ice::LongMyDerivedClassI::opShortIntLong(Ice::Short p1,                                Ice::Int p2,                                Ice::Long p3,                                Ice::Short& p4,                                Ice::Int& p5,                                Ice::Long& p6,                                const Ice::Current&){    p4 = p1;    p5 = p2;    p6 = p3;    return p3;}Ice::DoubleMyDerivedClassI::opFloatDouble(Ice::Float p1,                               Ice::Double p2,                               Ice::Float& p3,                               Ice::Double& p4,                               const Ice::Current&){    p3 = p1;    p4 = p2;    return p2;}std::stringMyDerivedClassI::opString(const std::string& p1,                          const std::string& p2,                          std::string& p3,                          const Ice::Current&){    p3 = p2 + " " + p1;    return p1 + " " + p2;}Test::MyEnumMyDerivedClassI::opMyEnum(Test::MyEnum p1,                          Test::MyEnum& p2,                          const Ice::Current&){    p2 = p1;    return Test::enum3;}Test::MyClassPrxMyDerivedClassI::opMyClass(const Test::MyClassPrx& p1,                           Test::MyClassPrx& p2,                           Test::MyClassPrx& p3,                           const Ice::Current&){    p2 = p1;    p3 = Test::MyClassPrx::uncheckedCast(_adapter->createProxy(                                _adapter->getCommunicator()->stringToIdentity("noSuchIdentity")));    return Test::MyClassPrx::uncheckedCast(_adapter->createProxy(_identity));}Test::StructureMyDerivedClassI::opStruct(const Test::Structure& p1,                          const ::Test::Structure& p2,                          ::Test::Structure& p3,                          const Ice::Current&){    p3 = p1;    p3.s.s = "a new string";    return p2;}Test::ByteSMyDerivedClassI::opByteS(const Test::ByteS& p1,                         const Test::ByteS& p2,                         Test::ByteS& p3,                         const Ice::Current&){    p3.resize(p1.size());    std::reverse_copy(p1.begin(), p1.end(), p3.begin());    Test::ByteS r = p1;    std::copy(p2.begin(), p2.end(), std::back_inserter(r));    return r;}Test::BoolSMyDerivedClassI::opBoolS(const Test::BoolS& p1,                         const Test::BoolS& p2,                         Test::BoolS& p3,                         const Ice::Current&){    p3 = p1;    std::copy(p2.begin(), p2.end(), std::back_inserter(p3));    Test::BoolS r;    r.resize(p1.size());    std::reverse_copy(p1.begin(), p1.end(), r.begin());    return r;}Test::LongSMyDerivedClassI::opShortIntLongS(const Test::ShortS& p1,                                 const Test::IntS& p2,                                 const Test::LongS& p3,                                 Test::ShortS& p4,                                 Test::IntS& p5,                                 Test::LongS& p6,                                 const Ice::Current&){    p4 = p1;    p5.resize(p2.size());    std::reverse_copy(p2.begin(), p2.end(), p5.begin());    p6 = p3;    std::copy(p3.begin(), p3.end(), std::back_inserter(p6));    return p3;}Test::DoubleSMyDerivedClassI::opFloatDoubleS(const Test::FloatS& p1,                                const Test::DoubleS& p2,                                Test::FloatS& p3,                                Test::DoubleS& p4,                                const Ice::Current&){    p3 = p1;    p4.resize(p2.size());    std::reverse_copy(p2.begin(), p2.end(), p4.begin());    Test::DoubleS r = p2;    std::copy(p1.begin(), p1.end(), std::back_inserter(r));    return r;}Test::StringSMyDerivedClassI::opStringS(const Test::StringS& p1,                           const Test::StringS& p2,                           Test::StringS& p3,                           const Ice::Current&){    p3 = p1;    std::copy(p2.begin(), p2.end(), std::back_inserter(p3));    Test::StringS r;    r.resize(p1.size());    std::reverse_copy(p1.begin(), p1.end(), r.begin());    return r;}Test::ByteSSMyDerivedClassI::opByteSS(const Test::ByteSS& p1,                          const Test::ByteSS& p2,                          Test::ByteSS& p3,                          const Ice::Current&){    p3.resize(p1.size());    std::reverse_copy(p1.begin(), p1.end(), p3.begin());    Test::ByteSS r = p1;    std::copy(p2.begin(), p2.end(), std::back_inserter(r));    return r;}Test::BoolSSMyDerivedClassI::opBoolSS(const Test::BoolSS& p1,                          const Test::BoolSS& p2,                          Test::BoolSS& p3,                          const Ice::Current&){    p3 = p1;    std::copy(p2.begin(), p2.end(), std::back_inserter(p3));    Test::BoolSS r;    r.resize(p1.size());    std::reverse_copy(p1.begin(), p1.end(), r.begin());    return r;}Test::LongSSMyDerivedClassI::opShortIntLongSS(const Test::ShortSS& p1,                                  const Test::IntSS& p2,                                  const Test::LongSS& p3,                                  Test::ShortSS& p4,                                  Test::IntSS& p5,                                  Test::LongSS& p6,                                  const Ice::Current&){    p4 = p1;    p5.resize(p2.size());    std::reverse_copy(p2.begin(), p2.end(), p5.begin());    p6 = p3;    std::copy(p3.begin(), p3.end(), std::back_inserter(p6));    return p3;}Test::DoubleSSMyDerivedClassI::opFloatDoubleSS(const Test::FloatSS& p1,                                 const Test::DoubleSS& p2,                                 Test::FloatSS& p3,                                 Test::DoubleSS& p4,                                 const Ice::Current&){    p3 = p1;    p4.resize(p2.size());    std::reverse_copy(p2.begin(), p2.end(), p4.begin());    Test::DoubleSS r = p2;    std::copy(p2.begin(), p2.end(), std::back_inserter(r));    return r;}Test::StringSSMyDerivedClassI::opStringSS(const Test::StringSS& p1,                            const Test::StringSS& p2,                            Test::StringSS& p3,                            const Ice::Current&){    p3 = p1;    std::copy(p2.begin(), p2.end(), std::back_inserter(p3));    Test::StringSS r;    r.resize(p2.size());    std::reverse_copy(p2.begin(), p2.end(), r.begin());    return r;}Test::StringSSSMyDerivedClassI::opStringSSS(const Test::StringSSS& p1,                             const Test::StringSSS& p2,                             Test::StringSSS& p3,                             const ::Ice::Current&){    p3 = p1;    std::copy(p2.begin(), p2.end(), std::back_inserter(p3));    Test::StringSSS r;    r.resize(p2.size());    std::reverse_copy(p2.begin(), p2.end(), r.begin());    return r;}Test::ByteBoolDMyDerivedClassI::opByteBoolD(const Test::ByteBoolD& p1,                             const Test::ByteBoolD& p2,                             Test::ByteBoolD& p3,                             const Ice::Current&){    p3 = p1;    Test::ByteBoolD r = p1;    std::set_union(p1.begin(), p1.end(), p2.begin(), p2.end(), std::inserter(r, r.end()));    return r;}Test::ShortIntDMyDerivedClassI::opShortIntD(const Test::ShortIntD& p1,                             const Test::ShortIntD& p2,                             Test::ShortIntD& p3,                             const Ice::Current&){    p3 = p1;    Test::ShortIntD r = p1;    std::set_union(p1.begin(), p1.end(), p2.begin(), p2.end(), std::inserter(r, r.end()));    return r;}Test::LongFloatDMyDerivedClassI::opLongFloatD(const Test::LongFloatD& p1,                              const Test::LongFloatD& p2,                              Test::LongFloatD& p3,                              const Ice::Current&){    p3 = p1;    Test::LongFloatD r = p1;    std::set_union(p1.begin(), p1.end(), p2.begin(), p2.end(), std::inserter(r, r.end()));    return r;}Test::StringStringDMyDerivedClassI::opStringStringD(const Test::StringStringD& p1,                                 const Test::StringStringD& p2,                                 Test::StringStringD& p3,                                 const Ice::Current&){    p3 = p1;    Test::StringStringD r = p1;    std::set_union(p1.begin(), p1.end(), p2.begin(), p2.end(), std::inserter(r, r.end()));    return r;}Test::StringMyEnumDMyDerivedClassI::opStringMyEnumD(const Test::StringMyEnumD& p1,                                 const Test::StringMyEnumD& p2,                                 Test::StringMyEnumD& p3,                                 const Ice::Current&){    p3 = p1;    Test::StringMyEnumD r = p1;    std::set_union(p1.begin(), p1.end(), p2.begin(), p2.end(), std::inserter(r, r.end()));    return r;}Test::IntSMyDerivedClassI::opIntS(const Test::IntS& s, const Ice::Current&){    Test::IntS r;    std::transform(s.begin(), s.end(), std::back_inserter(r), std::negate<int>());    return r;}voidMyDerivedClassI::opByteSOneway(const Test::ByteS&, const Ice::Current&){}Test::StringStringDMyDerivedClassI::opContext(const Ice::Current& c){    return c.ctx;}void MyDerivedClassI::opDoubleMarshaling(Ice::Double p1, const Test::DoubleS& p2, const Ice::Current&){    Ice::Double d = 1278312346.0 / 13.0;    test(p1 == d);    for(unsigned int i = 0; i < p2.size(); ++i)    {        test(p2[i] == d);    }}voidMyDerivedClassI::opDerived(const Ice::Current&){}Ice::ContextTestCheckedCastI::getContext(const Ice::Current& c){    return _ctx;}boolTestCheckedCastI::ice_isA(const std::string& s, const Ice::Current& current) const{    _ctx = current.ctx;#ifdef __BCPLUSPLUS__    return Test::TestCheckedCast::ice_isA(s, current);#else    return TestCheckedCast::ice_isA(s, current);#endif}

⌨️ 快捷键说明

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