本文整理汇总了C++中OsConfigDb类的典型用法代码示例。如果您正苦于以下问题:C++ OsConfigDb类的具体用法?C++ OsConfigDb怎么用?C++ OsConfigDb使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了OsConfigDb类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testAccessors
void testAccessors()
{
OsConfigDb *pDb = new OsConfigDb();
// the get() method is tested by testManipulators()
// test the getNext() method
//
// We put the following block in its own scope so that the UtlString
// references (stored in "name" and "value") are released as a side effect
// of going out of scope. Otherwise, it will look like a memory leak.
{
UtlString name;
UtlString value;
pDb->set("Key3", "Value3"); // add several entries (not in
pDb->set("Key2", "Value2"); // alphabetical or reverse alphabetical
pDb->set("Key4", "Value4"); // order
pDb->set("Key1", "Value1");
CPPUNIT_ASSERT_MESSAGE("verify that the database is not empty",
!pDb->isEmpty());
CPPUNIT_ASSERT_MESSAGE("has four entries", pDb->numEntries()==4);
OsStatus res = pDb->getNext("", name, value); // call getNext("", ...)
CPPUNIT_ASSERT_MESSAGE("verify that Key1/Value1",
res == OS_SUCCESS &&
name.compareTo("Key1") == 0 && // is returned
value.compareTo("Value1") == 0);
res = pDb->getNext("Key1", name, value);
CPPUNIT_ASSERT_MESSAGE("call getNext(\"Key1\", ...)",
res == OS_SUCCESS && // verify that Key2/Value2
name.compareTo("Key2") == 0 && // is returned
value.compareTo("Value2") == 0);
res = pDb->getNext("Key2", name, value);
CPPUNIT_ASSERT_MESSAGE("call getNext(\"Key2\", ...)",
res == OS_SUCCESS && // verify that Key3/Value3
name.compareTo("Key3") == 0 && // is returned
value.compareTo("Value3") == 0);
res = pDb->getNext("Key3", name, value);
CPPUNIT_ASSERT_MESSAGE("call getNext(\"Key3\", ...)",
res == OS_SUCCESS &&
name.compareTo("Key4") == 0 &&
value.compareTo("Value4") == 0);
res = pDb->getNext("Key4", name, value);
CPPUNIT_ASSERT_MESSAGE("call getNext(\"Key4\", ...)",
res == OS_NO_MORE_DATA &&
name.compareTo("") == 0 &&
value.compareTo("") == 0);
res = pDb->getNext("XXX", name, value);
CPPUNIT_ASSERT_MESSAGE("call getNext with a key not in the database and verify",
res == OS_NOT_FOUND &&
name.compareTo("") == 0 && // that empty strings are
value.compareTo("") == 0); // returned for the next name
// and value pair.
delete pDb; // delete the database
name.remove(0);
value.remove(0);
}
}
示例2: readConfig
// Read config information.
void SipRedirectorRegDB::readConfig(OsConfigDb& configDb)
{
configDb.get("MAPPING_FILE", mMappingFileName);
}
示例3: nextHook
void PluginHooks::readConfig(const OsConfigDb& configDb)
{
OsSysLog::add(FAC_KERNEL, PRI_DEBUG,
"PluginHooks::readConfig mFactory = '%s', mPrefix = '%s'",
mFactory.data(), mPrefix.data());
// Move any existing hooks from the current configured list to
// a temporary holding list.
UtlSList existingHooks;
UtlContainable* existingHook;
UtlSortedListIterator nextHook(mConfiguredHooks);
while ((existingHook = nextHook()))
{
existingHooks.append(mConfiguredHooks.removeReference(existingHook));
}
// the mConfiguredHooks list is now empty
// Walk the current configuration,
// any existing hook is moved back to the mConfiguredHooks list,
// newly configured hooks are added,
// each configured hook is called to read its own configuration.
UtlString hookPrefix(mPrefix);
hookPrefix.append(HOOK_LIB_PREFIX);
OsConfigDb allHooks;
OsSysLog::add(FAC_KERNEL, PRI_DEBUG,
"PluginHooks::readConfig looking up hooks '%s'",
hookPrefix.data()
);
if (OS_SUCCESS == configDb.getSubHash(hookPrefix, allHooks)) // any hooks configured for prefix?
{
UtlString lastHook;
UtlString hookName;
UtlString hookLibrary;
// walk each hook and attempt to load and configure it
for ( lastHook = "";
OS_SUCCESS == allHooks.getNext(lastHook, hookName, hookLibrary);
(lastHook = hookName, hookName.remove(0), hookLibrary.remove(0))
)
{
ConfiguredHook* thisHook;
if (NULL == (thisHook = dynamic_cast<ConfiguredHook*>(existingHooks.remove(&hookName))))
{
// not an existing hook, so create a new one
thisHook = ConfiguredHook::newHook(hookName, mFactory, hookLibrary);
}
else
{
// this is a pre-existing hook; check to see that the library has not changed.
if (! thisHook->isLibrary(hookLibrary))
{
// the library for thisHook has changed, so delete and recreate it with the new one.
delete thisHook;
thisHook = ConfiguredHook::newHook(hookName, mFactory, hookLibrary);
}
}
if (thisHook)
{
// put the hook onto the list of active hooks
mConfiguredHooks.insert(thisHook);
// (re)configure the hook
thisHook->readConfig(mPrefix, configDb);
}
}
}
else
{
OsSysLog::add(FAC_KERNEL, PRI_INFO,
"PluginHooks: no '%s' hooks configured", mPrefix.data()
);
}
// discard any hooks that are no longer in the configuration
existingHooks.destroyAll();
}
示例4: main
int main(int argc, char* argv[])
{
const char* configFileName = "siptest-config";
int proxyTcpPort;
int proxyUdpPort;
int proxyTlsPort;
OsConfigDb configDb;
// siptest uses osPrintf for output, so we have to un-suppress it.
enableConsoleOutput(TRUE);
if(configDb.loadFromFile(configFileName) == OS_SUCCESS)
{
osPrintf("Found config file: %s\n", configFileName);
}
else
{
configDb.set("SIP_TEST_UDP_PORT", "3000");
configDb.set("SIP_TEST_TCP_PORT", "3000");
configDb.set("SIP_TEST_TLS_PORT", "3001");
if(configDb.storeToFile(configFileName) == OS_SUCCESS)
{
osPrintf("Could not write config file: %s\n", configFileName);
}
}
proxyUdpPort = configDb.getPort("SIP_TEST_UDP_PORT") ;
proxyTcpPort = configDb.getPort("SIP_TEST_TCP_PORT") ;
proxyTlsPort = configDb.getPort("SIP_TEST_TLS_PORT") ;
UtlBoolean commandStatus = CommandProcessor::COMMAND_SUCCESS;
char buffer[1024];
char* commandLine;
CommandProcessor processor;
SipLineMgr* lineMgr = new SipLineMgr();
SipRefreshMgr* refreshMgr = new SipRefreshMgr();
lineMgr->startLineMgr();
lineMgr->initializeRefreshMgr( refreshMgr );
SipUserAgent* sipUA = new SipUserAgent( proxyTcpPort
,proxyUdpPort
,proxyTlsPort
,NULL // default publicAddress
,NULL // default defaultUser
,NULL // default defaultSipAddress
,NULL // default sipProxyServers
,NULL // default sipDirectoryServers
,NULL // default sipRegistryServers
,NULL // default authenicateRealm
,NULL // default authenticateDb
,NULL // default authorizeUserIds
,NULL // default authorizePasswords
,lineMgr
);
sipUA->allowMethod(SIP_REGISTER_METHOD);
sipUA->allowMethod(SIP_SUBSCRIBE_METHOD);
sipUA->allowMethod(SIP_NOTIFY_METHOD);
sipUA->start();
sipUA->startMessageLog();
osPrintf( "SIP logging Started\n" );
refreshMgr->init( sipUA );
CommandMsgProcessor* msgProc = new CommandMsgProcessor(sipUA);
msgProc->start();
processor.registerCommand("help", new HelpCommand(&processor));
processor.registerCommand("?", new HelpCommand(&processor));
processor.registerCommand("history", new HistoryCommand(&processor));
processor.registerCommand("send", new SipSendCommand(sipUA));
processor.registerCommand("lsend", new SipLSendCommand());
processor.registerCommand("get", new HttpGetCommand());
processor.registerCommand("respond", new RespondCommand(msgProc));
processor.registerCommand("rt", new RespondTemplate(msgProc));
processor.registerCommand("rrespond", new ResendResponse(msgProc));
processor.registerCommand("log", new SipLogCommand(*sipUA));
processor.registerCommand("auth", new AuthCommand(lineMgr));
processor.registerCommand("sleep", new SleepCommand());
processor.registerCommand("quit", new ExitCommand());
processor.registerCommand("exit", new ExitCommand());
//Initialization
UtlBoolean doPrompt = isatty(STDIN_FILENO);
if ( doPrompt )
{
printf("Enter command or help/? for help\n");
printf("SIPdriver: ");
}
for ( commandStatus = CommandProcessor::COMMAND_SUCCESS;
( commandStatus < CommandProcessor::COMMAND_FAILED_EXIT
&& commandStatus != CommandProcessor::COMMAND_SUCCESS_EXIT
&& (commandLine = fgets(buffer,1024,stdin))
);
//.........这里部分代码省略.........
示例5: proxy
int proxy()
{
int proxyTcpPort;
int proxyUdpPort;
int proxyTlsPort;
UtlString bindIp;
int maxForwards;
UtlString domainName;
UtlString proxyRecordRoute;
UtlString routeName;
UtlString authScheme;
UtlString ipAddress;
OsSocket::getHostIp(&ipAddress);
OsPath ConfigfileName = SipXecsService::Path(SipXecsService::ConfigurationDirType,
CONFIG_SETTINGS_FILE);
OsConfigDb configDb;
if(OS_SUCCESS != configDb.loadFromFile(ConfigfileName))
{
exit(1);
}
// Initialize the OsSysLog...
initSysLog(&configDb);
std::set_terminate(catch_global);
configDb.get(CONFIG_SETTING_BIND_IP, bindIp);
if ((bindIp.isNull()) || !OsSocket::isIp4Address(bindIp))
{
bindIp = "0.0.0.0";
}
Os::Logger::instance().log(FAC_SIP, PRI_INFO, "%s: %s", CONFIG_SETTING_BIND_IP,
bindIp.data());
osPrintf("%s: %s", CONFIG_SETTING_BIND_IP, bindIp.data());
UtlString hostname;
configDb.get("SIPX_PROXY_HOST_NAME", hostname);
if (!hostname.isNull())
{
// bias the selection of SRV records so that if the name of this host is an alternative,
// it wins in any selection based on random weighting.
SipSrvLookup::setOwnHostname(hostname);
}
Os::Logger::instance().log(FAC_SIP, PRI_INFO, "SIPX_PROXY_HOST_NAME : %s", hostname.data());
proxyUdpPort = configDb.getPort("SIPX_PROXY_UDP_PORT");
if (!portIsValid(proxyUdpPort))
{
proxyUdpPort = 5060;
}
Os::Logger::instance().log(FAC_SIP, PRI_INFO, "SIPX_PROXY_UDP_PORT : %d", proxyUdpPort);
proxyTcpPort = configDb.getPort("SIPX_PROXY_TCP_PORT") ;
if (!portIsValid(proxyTcpPort))
{
proxyTcpPort = 5060;
}
Os::Logger::instance().log(FAC_SIP, PRI_INFO, "SIPX_PROXY_TCP_PORT : %d", proxyTcpPort);
proxyTlsPort = configDb.getPort("SIPX_PROXY_TLS_PORT") ;
if (!portIsValid(proxyTlsPort))
{
proxyTlsPort = 5061;
}
Os::Logger::instance().log(FAC_SIP, PRI_INFO, "SIPX_PROXY_TLS_PORT : %d", proxyTlsPort);
configDb.get("SIPX_PROXY_MAX_FORWARDS", maxForwards);
if(maxForwards <= 0) maxForwards = SIP_DEFAULT_MAX_FORWARDS;
Os::Logger::instance().log(FAC_SIP, PRI_INFO, "SIPX_PROXY_MAX_FORWARDS : %d", maxForwards);
osPrintf("SIPX_PROXY_MAX_FORWARDS : %d\n", maxForwards);
int branchTimeout = -1;
configDb.get("SIPX_PROXY_BRANCH_TIMEOUT", branchTimeout);
if(branchTimeout < 4)
{
branchTimeout = 24;
}
int defaultExpires;
int defaultSerialExpires;
configDb.get("SIPX_PROXY_DEFAULT_EXPIRES", defaultExpires);
configDb.get("SIPX_PROXY_DEFAULT_SERIAL_EXPIRES", defaultSerialExpires);
if(defaultExpires <= 0 )
{
defaultExpires = DEFAULT_SIP_TRANSACTION_EXPIRES;
}
else if(defaultExpires > DEFAULT_SIP_TRANSACTION_EXPIRES)
{
Os::Logger::instance().log(FAC_SIP, PRI_WARNING,
"SipXproxymain::proxy "
"large default expires value: %d NOT RECOMMENDED",
defaultExpires);
}
if(defaultSerialExpires <= 0 ||
defaultSerialExpires >= defaultExpires)
{
defaultSerialExpires = DEFAULT_SIP_SERIAL_EXPIRES;
}
Os::Logger::instance().log(FAC_SIP, PRI_INFO, "SIPX_PROXY_DEFAULT_EXPIRES : %d", defaultExpires);
osPrintf("SIPX_PROXY_DEFAULT_EXPIRES : %d\n", defaultExpires);
//.........这里部分代码省略.........
示例6: readConfig
virtual void readConfig(OsConfigDb& configDb)
{
configDb.get("BEHAVIOR", mBehavior );
}