本文整理汇总了C++中SubscriberRegistry::addUser方法的典型用法代码示例。如果您正苦于以下问题:C++ SubscriberRegistry::addUser方法的具体用法?C++ SubscriberRegistry::addUser怎么用?C++ SubscriberRegistry::addUser使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SubscriberRegistry
的用法示例。
在下文中一共展示了SubscriberRegistry::addUser方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv)
{
gLogInit("SubscriberRegistryTest",gConfig.getStr("Log.Level").c_str(),LOG_LOCAL7);
// The idea is just to make sure things are connected right. The important code is shared, and tested elsewhere.
// add a user
sr.addUser("imsi", "clid");
// testing mappings of known user
sr.getCLIDLocal("imsi");
sr.getIMSI("clid");
// test mapping of unknow user (so it won't be found locally)
sr.getCLIDLocal("imsi_unknown");
sr.getRandForAuthentication(false, "imsi_r1");
sr.authenticate(false, "imsi_a1","rand_a1","sres_a1");
// but test the conversions
foo(0xffffffff, "ffffffff");
foo(0x00000000, "00000000");
foo(0x12345678, "12345678");
foo(0x9abcdef0, "9abcdef0");
foo("ffffffffffffffff0000000000000000");
foo("0000000000000000ffffffffffffffff");
foo("0123456789abcdef0123456789abcdef");
// billing testing - not tested elsewhere
sr.setPrepaid("imsi", false);
bool b;
sr.isPrepaid("imsi", b);
LOG(INFO) << "should be false " << b;
sr.setPrepaid("imsi", true);
sr.isPrepaid("imsi", b);
LOG(INFO) << "should be true " << b;
sr.setSeconds("imsi", 100);
int t;
sr.secondsRemaining("imsi", t);
LOG(INFO) << "should be 100 " << t;
sr.addSeconds("imsi", -50, t);
LOG(INFO) << "should be 50 " << t;
sr.addSeconds("imsi", -100, t);
LOG(INFO) << "should be 0 " << t;
}
示例2: main
int main(int argc, char *argv[]) {
SubscriberRegistry gHLR;
gLogInit("HLRTest");
gConfig.set("Log.Level","DEBUG");
if (argc!=2) {
std::cerr << "usage: " << argv[0] << " <number>" << std::endl;
exit(-1);
}
const char *targ = argv[1];
char *IMSI = gHLR.getIMSI(targ);
if (IMSI) std::cout << "IMSI for " << targ << " is " << IMSI << std::endl;
else std::cout << "no IMSI found for " << targ << std::endl;
char *CLID = gHLR.getCLIDLocal(IMSI);
if (CLID) std::cout << "CLID for " << IMSI << " is " << CLID << std::endl;
else std::cout << "no CLID found for " << IMSI << std::endl;
char *regIP = gHLR.getRegistrationIP("234100223456161");
if (regIP) std::cout << "registration IP for " << IMSI << " is " << regIP << std::endl;
else std::cout << "no regIP found for " << IMSI << std::endl;
IMSI = gHLR.getIMSI(targ);
if (IMSI) std::cout << "IMSI for " << targ << " is " << IMSI << std::endl;
else std::cout << "no IMSI found for " << targ << std::endl;
CLID = gHLR.getCLIDLocal(IMSI);
if (CLID) std::cout << "CLID for " << IMSI << " is " << CLID << std::endl;
else std::cout << "no CLID found for " << IMSI << std::endl;
const char targ2[] = "1234567890";
gHLR.addUser("123456789012345",targ2);
sleep(2);
IMSI = gHLR.getIMSI(targ2);
if (IMSI) std::cout << "IMSI for " << targ2 << " is " << IMSI << std::endl;
else std::cout << "no IMSI found for " << targ2 << std::endl;
CLID = gHLR.getCLIDLocal(IMSI);
if (CLID) std::cout << "CLID for " << IMSI << " is " << CLID << std::endl;
else std::cout << "no CLID found for " << IMSI << std::endl;
}
示例3: main
int main(int argc, char **argv)
{
// start the html return
initHtml();
// read the config file
gVisibleSipColumns = gConfig.getStr("SubscriberRegistry.Manager.VisibleColumns");
gUrl = "/cgi/srmanager.cgi";
gTitle = gConfig.getStr("SubscriberRegistry.Manager.Title");
// connect to the database
gDatabase = gConfig.getStr("SubscriberRegistry.db");
// decode the http query
decodeQuery(gArgs);
// execute command
string what = gArgs["what"];
if (!what.length() || what == "Main") {
mainTables();
} else if (what == "Add") {
doCmd("add");
} else if (what == "Update") {
doCmd("update");
} else if (what == "Delete") {
doCmd("delete");
} else if (what == "Provision") {
gSubscriberRegistry.addUser(gArgs["imsi"].c_str(), gArgs["phonenumber"].c_str());
mainTables();
} else if (what == "Submit") {
doVisibles();
mainTables();
} else {
cout << "unrecognized what parameter<br>\n";
map<string,string>::iterator it;
for (it = gArgs.begin(); it != gArgs.end(); it++) {
cout << it->first << " -> " << it->second << "<br>\n";
}
}
// finish the html return
endHtml();
}