本文整理汇总了C++中ice::CommunicatorPtr::getValueFactoryManager方法的典型用法代码示例。如果您正苦于以下问题:C++ CommunicatorPtr::getValueFactoryManager方法的具体用法?C++ CommunicatorPtr::getValueFactoryManager怎么用?C++ CommunicatorPtr::getValueFactoryManager使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ice::CommunicatorPtr
的用法示例。
在下文中一共展示了CommunicatorPtr::getValueFactoryManager方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getTestEndpoint
int
run(int, char**, const Ice::CommunicatorPtr& communicator)
{
#ifdef ICE_CPP11_MAPPING
communicator->getValueFactoryManager()->add(makeFactory<II>(), "::Test::I");
communicator->getValueFactoryManager()->add(makeFactory<JI>(), "::Test::J");
communicator->getValueFactoryManager()->add(makeFactory<HI>(), "::Test::H");
#else
Ice::ValueFactoryPtr factory = new MyValueFactory;
communicator->getValueFactoryManager()->add(factory, "::Test::I");
communicator->getValueFactoryManager()->add(factory, "::Test::J");
communicator->getValueFactoryManager()->add(factory, "::Test::H");
#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"));
adapter->activate();
TEST_READY
communicator->waitForShutdown();
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: populate
static int
run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator, Complex::ComplexDict& m)
{
//
// Register a factory for the node types.
//
Ice::ValueFactoryPtr factory = new Complex::ValueFactoryI;
communicator->getValueFactoryManager()->add(factory, "::Complex::NumberNode");
communicator->getValueFactoryManager()->add(factory, "::Complex::AddNode");
communicator->getValueFactoryManager()->add(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;
}
示例4: 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;
}
示例5: if
//.........这里部分代码省略.........
out << ee;
descriptors = os.str();
if(!outputFile.empty())
{
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
{
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::ValueFactoryPtr valueFactory = new FreezeScript::ValueFactory;
communicator->getValueFactoryManager()->add(valueFactory, "");
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
示例6: ule
//.........这里部分代码省略.........
if(printException)
{
Ice::Print printer(communicator->getLogger());
printer << ex;
}
}
adapter->deactivate();
}
cout << "ok" << endl;
cout << "testing servant locator registrations exceptions... " << flush;
{
communicator->getProperties()->setProperty("TestAdapter2.Endpoints", localOAEndpoint);
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter2");
Ice::ServantLocatorPtr loc = ICE_MAKE_SHARED(ServantLocatorI);
adapter->addServantLocator(loc, "x");
try
{
adapter->addServantLocator(loc, "x");
test(false);
}
catch(const Ice::AlreadyRegisteredException&)
{
}
adapter->deactivate();
}
cout << "ok" << endl;
cout << "testing value factory registration exception... " << flush;
{
#ifdef ICE_CPP11_MAPPING
communicator->getValueFactoryManager()->add(
[](const std::string&)
{
return nullptr;
},
"x");
try
{
communicator->getValueFactoryManager()->add(
[](const std::string&)
{
return nullptr;
},
"x");
test(false);
}
catch(const Ice::AlreadyRegisteredException&)
{
}
#else
Ice::ValueFactoryPtr vf = new ValueFactoryI;
communicator->getValueFactoryManager()->add(vf, "x");
try
{
communicator->getValueFactoryManager()->add(vf, "x");
test(false);
}
catch(const Ice::AlreadyRegisteredException&)
{
}
#endif
}
cout << "ok" << endl;
示例7: if
//.........这里部分代码省略.........
return EXIT_FAILURE;
}
of << descriptors;
of.close();
return EXIT_SUCCESS;
}
}
else
{
//
// Read the input file.
//
ifstream in(IceUtilInternal::streamFilename(inputFile).c_str());
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::ValueFactoryPtr valueFactory = new FreezeScript::ValueFactory;
communicator->getValueFactoryManager()->add(valueFactory, "");
//
// 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;