本文整理汇总了C++中StringStorage::appendString方法的典型用法代码示例。如果您正苦于以下问题:C++ StringStorage::appendString方法的具体用法?C++ StringStorage::appendString怎么用?C++ StringStorage::appendString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringStorage
的用法示例。
在下文中一共展示了StringStorage::appendString方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: tryCalcInputFilesSize
void DownloadOperation::tryCalcInputFilesSize()
{
FileInfoList *fil = m_toCopy;
while (fil != NULL) {
if (fil->getFileInfo()->isDirectory()) {
StringStorage pathNoRoot;
StringStorage pathToFile;
fil->getAbsolutePath(&pathNoRoot, _T('/'));
pathToFile.setString(m_pathToSourceRoot.getString());
if (!pathToFile.endsWith(_T('/'))) {
pathToFile.appendString(_T("/"));
}
pathToFile.appendString(pathNoRoot.getString());
m_foldersToCalcSizeLeft++;
m_sender->sendFolderSizeRequest(pathToFile.getString());
} else {
m_totalBytesToCopy += fil->getFileInfo()->getSize();
}
fil = fil->getNext();
}
}
示例2: updateUI
void VideoRegionsConfigDialog::updateUI()
{
StringVector *videoClasses = m_config->getVideoClassNames();
std::vector<Rect> *videoRects = m_config->getVideoRects();
StringStorage textAreaData;
TCHAR endLine[3] = {13, 10, 0};
{
AutoLock al(m_config);
textAreaData.setString(_T(""));
for (size_t i = 0; i < videoClasses->size(); i++) {
textAreaData.appendString(videoClasses->at(i).getString());
textAreaData.appendString(&endLine[0]);
}
TCHAR buffer[32];
_ltot(m_config->getVideoRecognitionInterval(), &buffer[0], 10);
m_videoRecognitionInterval.setText(buffer);
}
m_videoClasses.setText(textAreaData.getString());
{
AutoLock al(m_config);
textAreaData.setString(_T(""));
for (size_t i = 0; i < videoRects->size(); i++) {
Rect r = videoRects->at(i);
StringStorage s;
RectSerializer::toString(&r, &s);
textAreaData.appendString(s.getString());
textAreaData.appendString(&endLine[0]);
}
}
m_videoRects.setText(textAreaData.getString());
}
示例3: negotiateAboutSecurityType
int RemoteViewerCore::negotiateAboutSecurityType()
{
m_logWriter.detail(_T("Reading list of security types..."));
// read list of security types
vector<UINT32> secTypes;
readSecurityTypeList(&secTypes);
m_logWriter.debug(_T("List of security type is read"));
if (secTypes.size() == 0) {
m_logWriter.warning(_T("Error in negotiate about of security: only security type is 0"));
return 0;
}
// log information about security list
StringStorage secTypeString;
for (vector<UINT32>::iterator i = secTypes.begin(); i != secTypes.end(); i++) {
if(i != secTypes.begin())
secTypeString.appendString(_T(", "));
StringStorage nameType;
nameType.format(_T("%s (%d)"), getSecurityTypeName(*i).getString(), *i);
secTypeString.appendString(nameType.getString());
}
m_logWriter.detail(_T("Security Types received (%d): %s"),
secTypes.size(), secTypeString.getString());
// select type security
m_logWriter.debug(_T("Selecting auth-handler"));
int typeSelected = selectSecurityType(&secTypes, &m_authHandlers);
m_logWriter.info(_T("Security type is selected: %d"), typeSelected);
if (typeSelected == SecurityDefs::TIGHT) {
m_logWriter.info(_T("Tight capabilities is enable"));
m_isTight = true;
m_output->writeUInt8(typeSelected);
m_output->flush();
initTunnelling();
return initAuthentication();
}
if (m_minor >= 7) {
m_output->writeUInt8(typeSelected);
m_output->flush();
}
return typeSelected;
}
示例4: getInputFilesSize
UINT64 UploadOperation::getInputFilesSize()
{
UINT64 totalFilesSize = 0;
FileInfoList *fil = m_toCopy;
while (fil != NULL) {
StringStorage pathNoRoot;
StringStorage pathToFile;
fil->getAbsolutePath(&pathNoRoot, _T('\\'));
pathToFile.setString(m_pathToSourceRoot.getString());
pathToFile.appendString(_T("\\"));
pathToFile.appendString(pathNoRoot.getString());
totalFilesSize += getFileSize(pathToFile.getString());
fil = fil->getNext();
}
return totalFilesSize;
}
示例5: authenticate
void RemoteViewerCore::authenticate()
{
m_logWriter.detail(_T("Negotiating about security type..."));
int authenticationType = negotiateAboutSecurityType();
m_logWriter.info(_T("Authentication type accepted: %s (%d)"),
getAuthenticationTypeName(authenticationType).getString(),
authenticationType);
if (authenticationType != 0) {
m_logWriter.detail(_T("Authentication..."));
if (m_authHandlers.find(authenticationType) != m_authHandlers.end()) {
m_authHandlers[authenticationType]->authenticate(m_input, m_output);
} else {
// Security type is added automatic, but not by user.
if (authenticationType != SecurityDefs::NONE) {
m_logWriter.error(_T("Isn't exist authentication handler for selected security type %d"),
authenticationType);
throw AuthException(_T("Isn't exist authentication handler ")
_T("for selected type of authentication"));
}
}
}
// get authentication result, if version 3.8 or authentication isn't None
if (m_minor >= 8 || authenticationType != SecurityDefs::NONE) {
UINT32 authResult = 0;
if (authenticationType) {
authResult = m_input->readUInt32();
m_logWriter.detail(_T("Auth result is %d"), authResult);
}
static const UINT32 AUTH_RESULT_OK = 0;
if (!authenticationType || authResult != AUTH_RESULT_OK) {
// if version 3.3 or 3.7 then server connection closed
m_logWriter.message(_T("Authentication failure"));
if (m_minor < 8) {
throw AuthException(_T("Authentication failure"));
}
// if version 3.8 then try read reasonAuth.
StringStorage reasonAuth;
m_input->readUTF8(&reasonAuth);
StringStorage errorMessage = _T("Authentication reason: ");
errorMessage.appendString(reasonAuth.getString());
m_logWriter.message(_T("%s"), errorMessage.getString());
throw AuthException(errorMessage.getString());
}
}
}
示例6: getServerInfo
void TvnServer::getServerInfo(TvnServerInfo *info)
{
bool rfbServerListening = true;
{
AutoLock l(&m_mutex);
rfbServerListening = m_rfbServer != 0;
}
StringStorage statusString;
bool vncAuthEnabled = m_config->isUsingAuthentication();
bool noVncPasswords = !m_config->hasPrimaryPassword() && !m_config->hasReadOnlyPassword();
bool vncPasswordsError = vncAuthEnabled && noVncPasswords;
if (rfbServerListening) {
if (vncPasswordsError) {
statusString = StringTable::getString(IDS_NO_PASSWORDS_SET);
} else {
char localAddressString[1024];
getLocalIPAddrString(localAddressString, 1024);
statusString.fromAnsiString(localAddressString);
if (!vncAuthEnabled) {
statusString.appendString(StringTable::getString(IDS_NO_AUTH_STATUS));
}
}
} else {
statusString = StringTable::getString(IDS_SERVER_NOT_LISTENING);
}
UINT stringId = m_runAsService ? IDS_TVNSERVER_SERVICE : IDS_TVNSERVER_APP;
info->m_statusText.format(_T("%s - %s"),
StringTable::getString(stringId),
statusString.getString());
info->m_acceptFlag = rfbServerListening && !vncPasswordsError;
info->m_serviceFlag = m_runAsService;
}
示例7: vprint
void Log::vprint(int logLevel, const TCHAR *fmt, va_list argList)
{
Log *instance = getInstance();
if (instance == 0) {
return;
}
StringStorage timeString(_T("[Temporary unavaliable]"));
SYSTEMTIME st;
GetLocalTime(&st);
timeString.format(_T("%.4d-%.2d-%.2d %.2d:%.2d:%.2d"),
st.wYear, st.wMonth, st.wDay,
st.wHour, st.wMinute, st.wSecond);
const TCHAR logLevelSignature[] = _T("@!*+-: xxxxxx");
TCHAR sig = logLevelSignature[logLevel & 0x0F];
int count = _vsctprintf(fmt, argList);
TCHAR *formattedString = new TCHAR[count + 1];
_vstprintf(formattedString, fmt, argList);
StringStorage message;
message.format(_T("[%4d] %s %c %s"),
GetCurrentThreadId(),
timeString.getString(),
sig,
formattedString);
const TCHAR badCharacters[] = {13, 10, 0};
message.removeChars(badCharacters, sizeof(badCharacters) / sizeof(TCHAR));
delete[] formattedString;
const TCHAR endLine[3] = {13, 10, 0};
message.appendString(endLine);
instance->flushLine(logLevel, message.getString());
}
示例8: shMem
DesktopServerApplication::DesktopServerApplication(HINSTANCE appInstance, const TCHAR *commandLine)
: LocalWindowsApplication(appInstance),
m_clToSrvChan(0),
m_srvToClChan(0),
m_clToSrvGate(0),
m_srvToClGate(0),
m_dispatcher(0),
m_updHandlerSrv(0),
m_uiSrv(0),
m_cfgServer(0),
m_gateKickHandler(0),
m_sessionChangesWatcher(0)
{
DesktopServerCommandLine cmdLineParser;
cmdLineParser.parse(commandLine);
DWORD baseSessionId = WTS::getActiveConsoleSessionId();
StringStorage pathToLog;
cmdLineParser.getLogDir(&pathToLog);
if (!pathToLog.endsWith(_T('\\'))) {
pathToLog.appendChar(_T('\\'));
}
pathToLog.appendString(_T("dtserver.log"));
m_log = new FileLog(pathToLog.getString(), true);
Configurator::getInstance()->addListener(this);
m_log->changeLevel(cmdLineParser.getLogLevel());
Log::message(_T("Log level has been changed to %d"),
cmdLineParser.getLogLevel());
try {
StringStorage shMemName;
cmdLineParser.getSharedMemName(&shMemName);
SharedMemory shMem(shMemName.getString(), 72);
UINT64 *mem = (UINT64 *)shMem.getMemPointer();
HANDLE hWrite, hRead;
DateTime startTime = DateTime::now();
while (mem[0] == 0) {
unsigned int timeForWait = max((int)10000 -
(int)(DateTime::now() -
startTime).getTime(),
0);
if (timeForWait == 0) {
throw Exception(_T("The desktop server time out expired"));
}
}
hWrite = (HANDLE)mem[1];
hRead = (HANDLE)mem[2];
m_clToSrvChan = new AnonymousPipe(hWrite, hRead);
Log::info(_T("Client->server hWrite = %u; hRead = %u"), hWrite, hRead);
hWrite = (HANDLE)mem[3];
hRead = (HANDLE)mem[4];
m_srvToClChan = new AnonymousPipe(hWrite, hRead);
Log::info(_T("Server->client hWrite = %u; hRead = %u"), hWrite, hRead);
m_clToSrvGate = new BlockingGate(m_clToSrvChan);
m_srvToClGate = new BlockingGate(m_srvToClChan);
m_dispatcher = new DesktopSrvDispatcher(m_clToSrvGate, this);
m_updHandlerSrv = new UpdateHandlerServer(m_srvToClGate, m_dispatcher, this);
m_uiSrv = new UserInputServer(m_srvToClGate, m_dispatcher, this);
m_cfgServer = new ConfigServer(m_dispatcher);
m_gateKickHandler = new GateKickHandler(m_dispatcher);
m_dispatcher->resume();
m_sessionChangesWatcher = new SessionChangesWatcher(this);
} catch (Exception &e) {
Log::error(e.getMessage());
freeResources();
throw;
}
}