本文整理汇总了C++中ice::CommunicatorPtr::addObjectFactory方法的典型用法代码示例。如果您正苦于以下问题:C++ CommunicatorPtr::addObjectFactory方法的具体用法?C++ CommunicatorPtr::addObjectFactory怎么用?C++ CommunicatorPtr::addObjectFactory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ice::CommunicatorPtr
的用法示例。
在下文中一共展示了CommunicatorPtr::addObjectFactory方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: allTests
int
run(int, char**, const Ice::CommunicatorPtr& communicator)
{
Ice::ObjectFactoryPtr factory = new MyObjectFactory;
communicator->addObjectFactory(factory, "::Test::B");
communicator->addObjectFactory(factory, "::Test::C");
communicator->addObjectFactory(factory, "::Test::D");
communicator->addObjectFactory(factory, "::Test::E");
communicator->addObjectFactory(factory, "::Test::F");
communicator->addObjectFactory(factory, "::Test::I");
communicator->addObjectFactory(factory, "::Test::J");
communicator->addObjectFactory(factory, "::Test::H");
communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
InitialPtr initial = new InitialI(adapter);
adapter->add(initial, communicator->stringToIdentity("initial"));
UnexpectedObjectExceptionTestIPtr uoet = new UnexpectedObjectExceptionTestI;
adapter->add(uoet, communicator->stringToIdentity("uoet"));
InitialPrx allTests(const Ice::CommunicatorPtr&);
allTests(communicator);
// We must call shutdown even in the collocated case for cyclic dependency cleanup
initial->shutdown(Ice::Current());
return EXIT_SUCCESS;
}
示例2: allTests
int
run(int, char**, const Ice::CommunicatorPtr& communicator)
{
#ifdef ICE_CPP11_MAPPING
communicator->getValueFactoryManager()->add(makeFactory<BI>(), "::Test::B");
communicator->getValueFactoryManager()->add(makeFactory<CI>(), "::Test::C");
communicator->getValueFactoryManager()->add(makeFactory<DI>(), "::Test::D");
communicator->getValueFactoryManager()->add(makeFactory<EI>(), "::Test::E");
communicator->getValueFactoryManager()->add(makeFactory<FI>(), "::Test::F");
communicator->getValueFactoryManager()->add(makeFactory<II>(), "::Test::I");
communicator->getValueFactoryManager()->add(makeFactory<JI>(), "::Test::J");
communicator->getValueFactoryManager()->add(makeFactory<HI>(), "::Test::H");
communicator->addObjectFactory(make_shared<MyObjectFactory>(), "TestOF");
#else
Ice::ValueFactoryPtr factory = new MyValueFactory;
communicator->getValueFactoryManager()->add(factory, "::Test::B");
communicator->getValueFactoryManager()->add(factory, "::Test::C");
communicator->getValueFactoryManager()->add(factory, "::Test::D");
communicator->getValueFactoryManager()->add(factory, "::Test::E");
communicator->getValueFactoryManager()->add(factory, "::Test::F");
communicator->getValueFactoryManager()->add(factory, "::Test::I");
communicator->getValueFactoryManager()->add(factory, "::Test::J");
communicator->getValueFactoryManager()->add(factory, "::Test::H");
communicator->addObjectFactory(new MyObjectFactory(), "TestOF");
#endif
InitialPrxPtr allTests(const Ice::CommunicatorPtr&);
InitialPrxPtr initial = allTests(communicator);
initial->shutdown();
return EXIT_SUCCESS;
}
示例3:
int
run(const Ice::CommunicatorPtr& communicator, const string& envName, const string& dbName)
{
Ice::ObjectFactoryPtr factory = new Factory;
communicator->addObjectFactory(factory, "");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("");
Freeze::EvictorPtr evictor = Freeze::createEvictor(adapter, envName, dbName);
for(int i = 0; i < 10; ++i)
{
string facetName = "theFacet";
Ice::Identity id;
ostringstream ostr;
ostr << "mainObject" << i;
id.name = ostr.str();
if((i % 2) == 0)
{
MainObjectPtr obj = new MainObjectI;
obj->boolToString = true;
obj->byteToShort = 0;
obj->shortToByte = 255;
obj->intToShort = 32767;
obj->longToInt = 2147483647;
obj->floatToString = 4567.8f;
obj->doubleToFloat = 8765.4;
obj->stringToEnum = "E1";
obj->renamed = E2;
evictor->add(obj, id);
FacetObjectPtr facet = new FacetObjectI;
facet->doubleToString = 901234.5;
evictor->addFacet(facet, id, facetName);
}
else
{
DerivedMainObjectPtr obj = new DerivedMainObjectI;
obj->boolToString = false;
obj->byteToShort = 0;
obj->shortToByte = -1;
obj->intToShort = -32768;
obj->longToInt = -2147483647 - 1;
obj->floatToString = -4567.8f;
obj->doubleToFloat = -8765.4;
obj->stringToEnum = "E3";
obj->renamed = E1;
obj->name = id.name;
evictor->add(obj, id);
DerivedFacetObjectPtr facet = new DerivedFacetObjectI;
facet->doubleToString = -901234.5;
facet->count = i;
evictor->addFacet(facet, id, facetName);
}
}
evictor->deactivate("");
return EXIT_SUCCESS;
}
示例4: allTests
int
run(int, char**, const Ice::CommunicatorPtr& communicator)
{
Ice::ObjectFactoryPtr factory = new MyObjectFactory;
communicator->addObjectFactory(factory, "::Test::B");
communicator->addObjectFactory(factory, "::Test::C");
communicator->addObjectFactory(factory, "::Test::D");
communicator->addObjectFactory(factory, "::Test::E");
communicator->addObjectFactory(factory, "::Test::F");
communicator->addObjectFactory(factory, "::Test::I");
communicator->addObjectFactory(factory, "::Test::J");
communicator->addObjectFactory(factory, "::Test::H");
InitialPrx allTests(const Ice::CommunicatorPtr&);
InitialPrx initial = allTests(communicator);
initial->shutdown();
return EXIT_SUCCESS;
}
示例5:
int
run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator, const string& envName)
{
communicator->getProperties()->setProperty("Factory.Endpoints", "default -p 12010");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Factory");
communicator->addObjectFactory(new ServantFactory, "::Test::Servant");
communicator->addObjectFactory(new FacetFactory, "::Test::Facet");
communicator->addObjectFactory(new AccountFactory, "::Test::Account");
Test::RemoteEvictorFactoryPtr factory = new Test::RemoteEvictorFactoryI(envName);
adapter->add(factory, communicator->stringToIdentity("factory"));
adapter->activate();
communicator->waitForShutdown();
return EXIT_SUCCESS;
}
示例6: InitialI
int
run(int, char**, const Ice::CommunicatorPtr& communicator)
{
Ice::ObjectFactoryPtr factory = new MyObjectFactory;
communicator->addObjectFactory(factory, "::Test::I");
communicator->addObjectFactory(factory, "::Test::J");
communicator->addObjectFactory(factory, "::Test::H");
communicator->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010");
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
InitialPtr initial = new InitialI(adapter);
adapter->add(initial, communicator->stringToIdentity("initial"));
UnexpectedObjectExceptionTestIPtr uoet = new UnexpectedObjectExceptionTestI;
adapter->add(uoet, communicator->stringToIdentity("uoet"));
adapter->activate();
TEST_READY
communicator->waitForShutdown();
return EXIT_SUCCESS;
}
示例7: populate
static int
run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator, Complex::ComplexDict& m)
{
//
// Register a factory for the node types.
//
Ice::ObjectFactoryPtr factory = new Complex::ObjectFactoryI;
communicator->addObjectFactory(factory, "::Complex::NumberNode");
communicator->addObjectFactory(factory, "::Complex::AddNode");
communicator->addObjectFactory(factory, "::Complex::MultiplyNode");
if(argc > 1 && strcmp(argv[1], "populate") == 0)
{
return populate(m);
}
if(argc > 1 && strcmp(argv[1], "validate") == 0)
{
return validate(m);
}
usage(argv[0]);
return EXIT_FAILURE;
}
示例8: allTests
int
run(int, char**, const Ice::CommunicatorPtr& communicator)
{
#ifdef ICE_CPP11_MAPPING
communicator->getValueFactoryManager()->add(makeFactory<BI>(), "::Test::B");
communicator->getValueFactoryManager()->add(makeFactory<CI>(), "::Test::C");
communicator->getValueFactoryManager()->add(makeFactory<DI>(), "::Test::D");
communicator->getValueFactoryManager()->add(makeFactory<EI>(), "::Test::E");
communicator->getValueFactoryManager()->add(makeFactory<FI>(), "::Test::F");
communicator->getValueFactoryManager()->add(makeFactory<II>(), "::Test::I");
communicator->getValueFactoryManager()->add(makeFactory<JI>(), "::Test::J");
communicator->getValueFactoryManager()->add(makeFactory<HI>(), "::Test::H");
communicator->addObjectFactory(make_shared<MyObjectFactory>(), "TestOF");
#else
Ice::ValueFactoryPtr factory = new MyValueFactory;
communicator->getValueFactoryManager()->add(factory, "::Test::B");
communicator->getValueFactoryManager()->add(factory, "::Test::C");
communicator->getValueFactoryManager()->add(factory, "::Test::D");
communicator->getValueFactoryManager()->add(factory, "::Test::E");
communicator->getValueFactoryManager()->add(factory, "::Test::F");
communicator->getValueFactoryManager()->add(factory, "::Test::I");
communicator->getValueFactoryManager()->add(factory, "::Test::J");
communicator->getValueFactoryManager()->add(factory, "::Test::H");
communicator->addObjectFactory(new MyObjectFactory(), "TestOF");
#endif
communicator->getProperties()->setProperty("TestAdapter.Endpoints", getTestEndpoint(communicator, 0));
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
adapter->add(ICE_MAKE_SHARED(InitialI, adapter), communicator->stringToIdentity("initial"));
adapter->add(ICE_MAKE_SHARED(TestIntfI), communicator->stringToIdentity("test"));
adapter->add(ICE_MAKE_SHARED(UnexpectedObjectExceptionTestI), communicator->stringToIdentity("uoet"));
InitialPrxPtr allTests(const Ice::CommunicatorPtr&);
InitialPrxPtr initial = allTests(communicator);
// We must call shutdown even in the collocated case for cyclic dependency cleanup
initial->shutdown();
return EXIT_SUCCESS;
}
示例9: ule
//.........这里部分代码省略.........
Ice::Print printer(communicator->getLogger());
printer << ex;
}
}
adapter->deactivate();
}
cout << "ok" << endl;
cout << "testing servant locator registrations exceptions... " << flush;
{
string host = communicator->getProperties()->getPropertyAsIntWithDefault("Ice.IPv6", 0) == 0 ?
"127.0.0.1" : "\"0:0:0:0:0:0:0:1\"";
communicator->getProperties()->setProperty("TestAdapter2.Endpoints", "default -h " + host);
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter2");
Ice::ServantLocatorPtr loc = new ServantLocatorI;
adapter->addServantLocator(loc, "x");
try
{
adapter->addServantLocator(loc, "x");
test(false);
}
catch(const Ice::AlreadyRegisteredException&)
{
}
adapter->deactivate();
}
cout << "ok" << endl;
cout << "testing object factory registration exception... " << flush;
{
Ice::ObjectFactoryPtr of = new ObjectFactoryI;
communicator->addObjectFactory(of, "x");
try
{
communicator->addObjectFactory(of, "x");
test(false);
}
catch(const Ice::AlreadyRegisteredException&)
{
}
}
cout << "ok" << endl;
cout << "testing stringToProxy... " << flush;
string ref = "thrower:default -p 12010";
Ice::ObjectPrx base = communicator->stringToProxy(ref);
test(base);
cout << "ok" << endl;
cout << "testing checked cast... " << flush;
ThrowerPrx thrower = ThrowerPrx::checkedCast(base);
test(thrower);
test(thrower == base);
cout << "ok" << endl;
cout << "catching exact types... " << flush;
try
{
thrower->throwAasA(1);
test(false);
}
catch(const A& ex)
{
示例10: register_
void ObjectFactory::register_(const Ice::CommunicatorPtr& ic) {
ic->addObjectFactory(this, this->id);
}
示例11: if
//.........这里部分代码省略.........
of.close();
return EXIT_SUCCESS;
}
}
else
{
//
// Read the input file.
//
// No nativeToUTF8 conversion necessary here, no string converter is installed
// by wmain() on Windows and args are assumbed to be UTF8 on Unix platforms.
//
IceUtilInternal::ifstream in(inputFile);
char buff[1024];
while(true)
{
in.read(buff, 1024);
descriptors.append(buff, static_cast<size_t>(in.gcount()));
if(in.gcount() < 1024)
{
break;
}
}
in.close();
}
if(dbEnvName == dbEnvNameNew)
{
cerr << appName << ": database environment names must be different" << endl;
return EXIT_FAILURE;
}
FreezeScript::ObjectFactoryPtr objectFactory = new FreezeScript::ObjectFactory;
communicator->addObjectFactory(objectFactory, "");
//
// Transform the database.
//
DbEnv dbEnv(0);
DbEnv dbEnvNew(0);
Freeze::TransactionPtr txNew;
Freeze::ConnectionPtr connection;
Freeze::ConnectionPtr connectionNew;
vector<Db*> dbs;
int status = EXIT_SUCCESS;
try
{
#ifdef _WIN32
//
// Berkeley DB may use a different C++ runtime.
//
dbEnv.set_alloc(::malloc, ::realloc, ::free);
dbEnvNew.set_alloc(::malloc, ::realloc, ::free);
#endif
//
// Open the old database environment. Use DB_RECOVER_FATAL if -c is specified.
// No transaction is created for the old environment.
//
// DB_THREAD is for compatibility with Freeze (the catalog)
//
{
u_int32_t flags = DB_THREAD | DB_CREATE | DB_INIT_TXN | DB_INIT_MPOOL;
if(catastrophicRecover)
{
flags |= DB_INIT_LOG | DB_RECOVER_FATAL;
示例12: if
//.........这里部分代码省略.........
// by wmain() on Windows and args are assumbed to be UTF8 on Unix platforms.
//
IceUtilInternal::ofstream of(outputFile);
if(!of.good())
{
cerr << appName << ": unable to open file `" << outputFile << "'" << endl;
return EXIT_FAILURE;
}
of << descriptors << endl;
of.close();
return EXIT_SUCCESS;
}
}
else
{
//
// No nativeToUTF8 conversion necessary here, no string converter is installed
// by wmain() on Windows and args are assumbed to be UTF8 on Unix platforms.
//
IceUtilInternal::ifstream in(inputFile);
char buff[1024];
while(true)
{
in.read(buff, 1024);
descriptors.append(buff, static_cast<size_t>(in.gcount()));
if(in.gcount() < 1024)
{
break;
}
}
in.close();
}
FreezeScript::ObjectFactoryPtr objectFactory = new FreezeScript::ObjectFactory;
communicator->addObjectFactory(objectFactory, "");
DbEnv dbEnv(0);
DbTxn* txn = 0;
Freeze::ConnectionPtr connection;
int status = EXIT_SUCCESS;
try
{
#ifdef _WIN32
//
// Berkeley DB may use a different C++ runtime.
//
dbEnv.set_alloc(::malloc, ::realloc, ::free);
#endif
//
// Open the database environment and start a transaction.
//
{
u_int32_t flags = DB_THREAD | DB_CREATE | DB_INIT_TXN | DB_INIT_MPOOL;
dbEnv.open(dbEnvName.c_str(), flags, FREEZE_SCRIPT_DB_MODE);
}
//
// We're creating a connection just to make sure the database environment
// isn't locked.
//
connection = Freeze::createConnection(communicator, dbEnvName, dbEnv);
dbEnv.txn_begin(0, &txn, 0);
FreezeScript::ErrorReporterPtr errorReporter = new FreezeScript::ErrorReporter(cerr, false);
try