本文整理汇总了C++中UtlHashBag::destroyAll方法的典型用法代码示例。如果您正苦于以下问题:C++ UtlHashBag::destroyAll方法的具体用法?C++ UtlHashBag::destroyAll怎么用?C++ UtlHashBag::destroyAll使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UtlHashBag
的用法示例。
在下文中一共展示了UtlHashBag::destroyAll方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: and
// Get all bindings expiring before newerThanTime.
void
RegistrationDB::getAllOldBindings(int newerThanTime,
UtlHashBag& rAors) const
{
// Empty the return value.
rAors.destroyAll();
if ( m_pFastDB != NULL )
{
SMART_DB_ACCESS;
// Note: callid set to null indicates provisioned entries and
// these should not be removed
dbQuery query;
query = "expires <", static_cast<const int&>(newerThanTime), " and (callid != '#')";
dbCursor< RegistrationRow > cursor;
int rows = cursor.select( query );
if (rows > 0)
{
// Create UtlString containing the AOR from the "uri" column.
UtlString* uri = new UtlString(cursor->uri);
// Add it to the result set.
rAors.insert(uri);
} while ( cursor.next() );
}
else
{
OsSysLog::add(FAC_DB, PRI_CRIT, "RegistrationDB::getAllOldBindings failed - no DB");
}
return;
}
示例2: testClearAndDestroy
/*!a Test case to test the DestroyAll()
* method.
*/
void testClearAndDestroy()
{
const int testCount = 3 ;
int cCountBefore = UtlContainableTestStub :: getCount() ;
const char* prefix = "test the destroyAll() method " ;
const char* suffix1 = " :- sanity check to double check that the counter was incremented for every new() call" ;
const char* suffix2 = " :- Verify that all entries are removed and the objects are deleted" ;
UtlContainableTestStub* uStub ;
UtlContainableTestStub* uStubPtr ;
UtlContainableTestStub* uStubPtr2 ;
uStub = new UtlContainableTestStub(0) ;
uStubPtr = new UtlContainableTestStub(201) ;
uStubPtr2 = new UtlContainableTestStub(201) ;
emptyList.insert(uStub) ;
emptyList.insert(uStubPtr) ;
emptyList.insert(uStubPtr2) ;
cCountBefore = UtlContainableTestStub :: getCount() - cCountBefore ;
emptyList.destroyAll() ;
int cCountAfter = UtlContainableTestStub :: getCount() ;
string msg ;
// Make sure that static count was incremented for every instance
// of the TestStub that was created.
TestUtilities::createMessage(2, &msg, prefix, suffix1) ;
CPPUNIT_ASSERT_EQUAL_MESSAGE(msg.data(), testCount, cCountBefore) ;
// Verify that the list has no entries left after destroyAll()
// and also ensure that all the TestStub instances were deleted.
TestUtilities::createMessage(2, &msg, prefix, suffix2) ;
CPPUNIT_ASSERT_EQUAL_MESSAGE(msg.data(), 0, cCountAfter) ;
CPPUNIT_ASSERT_EQUAL_MESSAGE(msg.data(), 0, (int)emptyList.entries()) ;
} //testClearAndDestroy
示例3: updateFile
OsStatus OsConfigDb::updateFile(const char* filename) const
{
UtlString originalFileContents;
long fileLength = OsFile::openAndRead(filename, originalFileContents);
const char* unparsedBits = originalFileContents;
int unparsedLength = originalFileContents.length();
// Loop through and try to preserve comments, space and order
int lineStart = 0;
int lineEnd = 0;
UtlHashBag writtenNames;
UtlString newFileContents;
UtlString name;
UtlString value;
UtlString newValue;
while(lineStart < unparsedLength)
{
lineEnd = UtlTokenizer::nextDelim(unparsedBits, lineStart, unparsedLength, "\n\r");
//printf("start: %d end: %d length: %d\n", lineStart, lineEnd, unparsedLength);
UtlString oneLine(&unparsedBits[lineStart], lineEnd - lineStart);
//printf("Line: <%s>\n", oneLine.data());
// If line contains a parameter
if(parseLine(oneLine, mCapitalizeName, filename, name, value))
{
//printf("name<%s> value<%s>\n", name.data(), value.data());
if(get(name, newValue) == OS_SUCCESS &&
!writtenNames.contains(&name))
{
//printf("Wrote name<%s>\n", name.data());
// The parameter still exists in the configDb and we have not yet
// written it out, write the potentially changed value
newFileContents.appendFormat("%s : %s\n", name.data(), newValue.data());
// Save names/parameters written so that we can figure out what has not
// been written out
writtenNames.insert(new UtlString(name));
}
// else the parameter was removed, do nothing
}
// The line was a comment or blank line, write it back out the same
else
{
newFileContents.appendFormat("%s\n", oneLine.data());
}
lineStart = lineEnd + 1;
}
int paramIndex;
int paramCount = numEntries();
DbEntry* paramEntry;
for (paramIndex = 0; paramIndex < paramCount; paramIndex++)
{
paramEntry = (DbEntry*) mDb.at(paramIndex);
removeNewlineReturns(paramEntry->key);
removeNewlineReturns(paramEntry->value);
// We have not written the value yet
if(!writtenNames.contains(&(paramEntry->key)))
{
newFileContents.appendFormat("%s : %s\n", paramEntry->key.data(), paramEntry->value.data());
writtenNames.insert(new UtlString(paramEntry->key));
}
}
fileLength = OsFile::openAndWrite(filename, newFileContents);
writtenNames.destroyAll();
return(fileLength > 0 ? OS_SUCCESS : OS_INVALID_ARGUMENT);
}