本文整理汇总了C++中xbox::VString::FromCString方法的典型用法代码示例。如果您正苦于以下问题:C++ VString::FromCString方法的具体用法?C++ VString::FromCString怎么用?C++ VString::FromCString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xbox::VString
的用法示例。
在下文中一共展示了VString::FromCString方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetAuthenticationMethodName
void GetAuthenticationMethodName (const HTTPAuthenticationMethod inAuthenticationMethod, XBOX::VString& outAuthenticationMethodName)
{
switch (inAuthenticationMethod)
{
case AUTH_BASIC: outAuthenticationMethodName.FromCString ("Basic"); break;
case AUTH_DIGEST: outAuthenticationMethodName.FromCString ("Digest"); break;
case AUTH_KERBEROS: outAuthenticationMethodName.FromCString ("Kerberos"); break;
case AUTH_NTLM: outAuthenticationMethodName.FromCString ("NTLM"); break;
default: outAuthenticationMethodName.FromCString ("None"); break;
}
}
示例2: GetLogFormatName
void GetLogFormatName (const EHTTPServerLogFormat inLogFormat, XBOX::VString& outLogFormatName)
{
switch (inLogFormat)
{
case LOG_FORMAT_WLF: outLogFormatName.FromCString ("WLF"); break;
case LOG_FORMAT_CLF: outLogFormatName.FromCString ("CLF"); break;
case LOG_FORMAT_ELF: outLogFormatName.FromCString ("ELF"); break;
case LOG_FORMAT_DLF: outLogFormatName.FromCString ("DLF"); break;
default: outLogFormatName.FromCString ("Unknown"); break;
}
}
示例3: EnumFamScreenCallBackEx
BOOL CALLBACK XWinFontMgr::EnumFamScreenCallBackEx(ENUMLOGFONTEX* pelf, NEWTEXTMETRICEX* /*lpntm*/, int FontType,LPVOID pThis)
{
XBOX::VString fontName;
fontName.FromCString((const char*)(pelf->elfFullName));
((XWinFontMgr *)pThis)->AddFont(fontName);
return 1;
}
示例4: _BuildRegexMatcher
XBOX::VError VHTTPServerProject::_BuildRegexMatcher (const XBOX::VString& inPatternString, XBOX::VRegexMatcher **outMatcher)
{
if (NULL == outMatcher)
return XBOX::VE_INVALID_PARAMETER;
XBOX::VString patternString (inPatternString);
XBOX::VError error = XBOX::VE_OK;
sLONG pos = 0;
if (!HTTPServerTools::BeginsWithASCIICString (patternString.GetCPointer(), "(?i)"))
patternString.Insert (CVSTR ("(?i)"), 1);
if (HTTPServerTools::EndsWithASCIICString (patternString, "/") &&
!HTTPServerTools::EndsWithASCIICString (patternString, "$"))
patternString.AppendString (CVSTR (".*"));
XBOX::VString string;
if ((pos = patternString.FindUniChar (CHAR_CIRCUMFLEX_ACCENT)) == 0)
{
string.FromCString ("^");
pos = HTTPServerTools::FindASCIICString (patternString, "(?i)") + 4;
}
else
{
++pos;
}
#if HTTP_SERVER_USE_PROJECT_PATTERNS
if (!fSettings->GetProjectPattern().IsEmpty())
{
string.AppendCString ("(/");
string.AppendString (fSettings->GetProjectPattern());
string.AppendCString ("|)");
}
#endif
patternString.Insert (string, pos);
if (!patternString.IsEmpty())
*outMatcher = XBOX::VRegexMatcher::Create (patternString, &error);
return error;
}
示例5: GetDescription
void VProjectItemDataClassAttribute::GetDescription( XBOX::VString& outDescription) const
{
outDescription.FromCString( "Data Class Attribute");
}
示例6: GetLogTokenName
void GetLogTokenName (const EHTTPServerLogToken inToken, XBOX::VString& outTokenName)
{
switch (inToken)
{
case LOG_TOKEN_DATE: outTokenName.FromCString ("DATE"); break;
case LOG_TOKEN_TIME: outTokenName.FromCString ("TIME"); break;
case LOG_TOKEN_HOST_NAME: outTokenName.FromCString ("HOST-NAME"); break;
case LOG_TOKEN_URL: outTokenName.FromCString ("URL"); break;
case LOG_TOKEN_PATH_ARGS: outTokenName.FromCString ("PATH_ARGS"); break;
case LOG_TOKEN_SEARCH_ARGS: outTokenName.FromCString ("SEARCH_ARGS"); break;
case LOG_TOKEN_METHOD: outTokenName.FromCString ("METHOD"); break;
case LOG_TOKEN_ELF_URI: outTokenName.FromCString ("CS-URI"); break;
case LOG_TOKEN_BYTES_SENT: outTokenName.FromCString ("BYTES_SENT"); break;
case LOG_TOKEN_TRANSFER_TIME: outTokenName.FromCString ("TIME-TAKEN"); break;
case LOG_TOKEN_AGENT: outTokenName.FromCString ("AGENT"); break;
case LOG_TOKEN_USER: outTokenName.FromCString ("USER"); break;
case LOG_TOKEN_REFERER: outTokenName.FromCString ("REFERER"); break;
case LOG_TOKEN_CONNECTION_ID: outTokenName.FromCString ("CONNECTION_ID"); break;
case LOG_TOKEN_STATUS: outTokenName.FromCString ("SC-STATUS"); break;
case LOG_TOKEN_ELF_C_IP: outTokenName.FromCString ("C-IP"); break;
case LOG_TOKEN_ELF_C_DNS: outTokenName.FromCString ("CS-CDNS"); break;
case LOG_TOKEN_ELF_CS_URI_STEM: outTokenName.FromCString ("CS-URI-STEM"); break;
case LOG_TOKEN_ELF_CS_URI_QUERY: outTokenName.FromCString ("CS-URI-QUERY"); break;
case LOG_TOKEN_ELF_CS_HOST: outTokenName.FromCString ("CS(HOST)"); break;
case LOG_TOKEN_CS_REFERER: outTokenName.FromCString ("CS(REFERER)"); break;
case LOG_TOKEN_CS_USER_AGENT: outTokenName.FromCString ("CS(USER-AGENT)"); break;
case LOG_TOKEN_ELF_CS_COOKIE: outTokenName.FromCString ("CS(COOKIE)"); break;
case LOG_TOKEN_ELF_S_IP: outTokenName.FromCString ("CS-SIP"); break;
case LOG_TOKEN_WLF_BYTES_RECEIVED: outTokenName.FromCString ("BYTES_RECEIVED"); break;
case LOG_TOKEN_RFC_931: outTokenName.FromCString ("RFC-931"); break;
case LOG_TOKEN_HTTP_REQUEST: outTokenName.FromCString ("HTTP-REQUEST"); break;
default: assert(false);
outTokenName.FromCString ("UNKNOWN"); break;
}
}
示例7: SendValueBagResponse
XBOX::VError SendValueBagResponse (IHTTPResponse& ioResponse, const XBOX::VValueBag& inBag, const XBOX::VString& inBagName)
{
XBOX::VError error = XBOX::VE_OK;
const XBOX::VString stringURL = ioResponse.GetRequest().GetURLQuery();
HTTPRequestMethod method = ioResponse.GetRequest().GetRequestMethod();
XBOX::VString resultString;
bool isJSON = true;
bool prettyFormatting = false;
bool isValidRequest = ((method == HTTP_GET) || (method == HTTP_HEAD));
if (isValidRequest)
{
sLONG posFormat = 0, posPretty = 0;
const UniChar * stringPtr = stringURL.GetCPointer();
const sLONG stringLen = stringURL.GetLength();
if ((posFormat = HTTPServerTools::FindASCIICString (stringPtr, "format=")) > 0)
{
posFormat += 6;
sLONG startPos = 0;
sLONG endPos = HTTPServerTools::FindASCIICString (stringPtr + posFormat, "&");
if (endPos <= 0)
endPos = stringLen;
else
endPos += (posFormat - 1);
if (((startPos = HTTPServerTools::FindASCIICString (stringPtr + posFormat, "xml")) > 0) && (startPos < endPos))
isJSON = false;
else if(((startPos = HTTPServerTools::FindASCIICString (stringPtr + posFormat, "json")) > 0) && (startPos < endPos))
isJSON = true;
else
isValidRequest = false;
}
if ((posPretty = HTTPServerTools::FindASCIICString (stringPtr, "pretty=")) > 0)
{
XBOX::VString prettyString;
posPretty += 6;
sLONG endPos = HTTPServerTools::FindASCIICString (stringPtr + posPretty, "&");
if (endPos <= 0)
endPos = stringLen;
else
endPos += (posPretty - 1);
if (endPos > posPretty)
{
GetSubString (stringURL, posPretty, endPos - 1, prettyString);
prettyFormatting = (HTTPServerTools::EqualASCIICString (prettyString, "yes"));
}
else
isValidRequest = false;
}
}
if (isValidRequest)
{
if (isJSON)
{
inBag.GetJSONString (resultString, prettyFormatting ? JSON_PrettyFormatting : JSON_Default);
}
else
{
resultString.FromCString ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
inBag.DumpXML (resultString, inBagName, prettyFormatting);
}
XBOX::StStringConverter<char> buffer (resultString, XBOX::VTC_UTF_8);
error = ioResponse.SetResponseBody (buffer.GetCPointer(), buffer.GetLength());
ioResponse.SetExpiresHeader (GMT_NOW);
ioResponse.AddResponseHeader (STRING_HEADER_PRAGMA, STRING_HEADER_VALUE_NO_CACHE);
ioResponse.AddResponseHeader (STRING_HEADER_CONTENT_TYPE, (isJSON) ? STRING_CONTENT_TYPE_JSON : STRING_CONTENT_TYPE_XML);
ioResponse.SetContentLengthHeader (buffer.GetLength());
ioResponse.AllowCompression (true);
}
else
{
error = ioResponse.ReplyWithStatusCode (HTTP_BAD_REQUEST);
}
return error;
}
示例8: SendResponse
//.........这里部分代码省略.........
{
uLONG bufferSize = (uLONG)GetBody().GetSize();
if (bufferSize <= cacheManager->GetCachedObjectMaxSize())
{
void * buffer = GetBody().GetDataPtr();
XBOX::VTime lastChecked;
VCachedObject * cachedObject = NULL;
XBOX::VTime::Now (lastChecked);
bool ok = cacheManager->AddPageToCache (fRequest->GetURL(),
virtualHost->GetUUIDString(),
contentType,
buffer,
bufferSize,
filePath,
lastChecked,
lastModified,
staticFile,
fCompressionMode,
&cachedObject);
if (ok)
{
if (NULL != cachedObject)
{
XBOX::VTime expirationDate;
sLONG maxAge = cachedObject->GetMaxAge();
if (maxAge > 0)
{
XBOX::VString string;
string.FromCString ("max-age=");
string.AppendLong (maxAge);
AddResponseHeader (STRING_HEADER_CACHE_CONTROL, string);
AddResponseHeader (STRING_HEADER_AGE, cachedObject->GetAge());
if (cachedObject->GetExpirationDate (expirationDate))
AddResponseHeader (STRING_HEADER_EXPIRES, expirationDate);
}
else if (cachedObject->GetExpirationDate (expirationDate) && IsVTimeValid (expirationDate))
{
AddResponseHeader (STRING_HEADER_EXPIRES, expirationDate);
}
XBOX::QuickReleaseRefCountable (cachedObject);
}
}
}
}
if (!lastModifiedString.IsEmpty())
AddResponseHeader (STRING_HEADER_LAST_MODIFIED, lastModifiedString);
}
if (HTTP_OK == fResponseStatusCode)
{
if (NULL != fFileToSend)
{
if (fFileToSend->Exists())
{
sLONG8 fileSize = 0;
fFileToSend->GetSize (&fileSize);
this->SetContentLengthHeader (fileSize); // YT 18-Jul-2011 - ACI0072287
示例9: main
int main (int inArgc, char * const inArgv[])
{
// set pattern matching wild char asap
VCollator::SetDefaultWildChar( '*');
// First, create the application. So, everything is initialized and ready to use
VRIAServerApplication application;
VProcess::InitOptions initOptions = VProcess::Init_Default & ~VProcess::Init_WithQuickTime;
#if VERSION_LINUX
XBOX::VString versionString;
versionString.FromCString (STRPRODUCTVER); // YT 18-May-2012 - WAK0076647
VRIAServerApplication::Get()->SetProductVersion (versionString);
#endif
//jmo - We may want to quit after parsing the command line
bool shouldQuit=false;
if (application.Init( initOptions))
{
// Parse the command line argument
VError err = VE_OK;
// remote admin: feature development in progress
//VRIAServerSupervisor* srvSup = VRIAServerSupervisor::Get();
VRIAServerStartupParameters *startupParameters = new VRIAServerStartupParameters();
if (startupParameters != NULL)
{
// skip first argument (executable path)
if (inArgc > 1)
{
int curArg = 1;
while (curArg < inArgc && err == VE_OK)
{
VString argument( inArgv[curArg]);
if (argument.BeginsWith( kARG_ADMINISTRATOR_PORT))
{
++curArg;
argument.Remove( 1, kARG_ADMINISTRATOR_PORT.GetLength());
if (!argument.IsEmpty() && argument.GetUniChar(1) == '=')
{
argument.Remove( 1, 1);
if (!argument.IsEmpty())
{
sLONG port = argument.GetLong();
if (port > 0)
startupParameters->SetAdministratorHttpPort( port);
else
err = VE_RIA_INVALID_COMMAND_LINE_ARGUMENTS;
}
else
{
err = VE_RIA_INVALID_COMMAND_LINE_ARGUMENTS;
}
}
else
{
err = VE_RIA_INVALID_COMMAND_LINE_ARGUMENTS;
}
}
else if (argument.BeginsWith( kARG_ADMINISTRATOR_SSL_PORT))
{
++curArg;
argument.Remove( 1, kARG_ADMINISTRATOR_SSL_PORT.GetLength());
if (!argument.IsEmpty() && argument.GetUniChar(1) == '=')
{
argument.Remove( 1, 1);
if (!argument.IsEmpty())
{
sLONG port = argument.GetLong();
if (port > 0)
startupParameters->SetAdministratorSSLPort( port);
else
err = VE_RIA_INVALID_COMMAND_LINE_ARGUMENTS;
}
else
{
err = VE_RIA_INVALID_COMMAND_LINE_ARGUMENTS;
}
}
else
{
err = VE_RIA_INVALID_COMMAND_LINE_ARGUMENTS;
}
}
else if (argument.BeginsWith( kVERSION_NUMBER))
{
++curArg;
argument.Remove(1, kVERSION_NUMBER.GetLength());
VString version;
VRIAServerApplication::Get()->GetProductVersion(version);
char buf[100];
version.ToCString(buf, sizeof(buf));
//.........这里部分代码省略.........
示例10: ToStream
XBOX::VError VMIMEMessage::ToStream (XBOX::VStream& outStream, sLONG inEncoding)
{
XBOX::VError error = XBOX::VE_OK;
if (XBOX::VE_OK == outStream.OpenWriting())
{
outStream.SetCarriageReturnMode(eCRM_CRLF);
if (!fMIMEParts.empty())
{
XBOX::VString string;
XBOX::VString charsetName;
bool bEncodeBody; // Encode using base64.
for (XBOX::VectorOfMIMEPart::const_iterator it = fMIMEParts.begin(); it != fMIMEParts.end(); ++it)
{
outStream.PutPrintf ("\r\n--%S\r\n", &fBoundary);
string.FromCString ("Content-Type: ");
string.AppendString ((*it)->GetMediaType());
if (!(*it)->GetFileName().IsEmpty())
{
string.AppendCString ("; name=\"");
if (!(*it)->GetName().IsEmpty())
string.AppendString ((*it)->GetName());
else
string.AppendString ((*it)->GetFileName());
string.AppendCString("\"\r\nContent-Disposition: ");
string.AppendCString((*it)->IsInline() ? "inline; " : "attachment; ");
string.AppendCString("filename=\"");
string.AppendString ((*it)->GetFileName());
string.AppendCString ("\"\r\n");
if (inEncoding == ENCODING_BINARY) {
string.AppendCString ("Content-Transfer-Encoding: 8bit\r\n");
bEncodeBody = false;
} else {
if ((inEncoding == ENCODING_BINARY_ONLY) && ((*it)->GetMediaTypeKind() == MIMETYPE_TEXT))
{
bEncodeBody = false;
}
else
{
string.AppendCString ("Content-Transfer-Encoding: base64\r\n");
bEncodeBody = true;
}
}
}
else
{
if ((*it)->GetMediaTypeCharSet() != XBOX::VTC_UNKNOWN)
{
string.AppendCString ("; charset=\"");
XBOX::VTextConverters::Get()->GetNameFromCharSet ((*it)->GetMediaTypeCharSet(), charsetName);
string.AppendString (charsetName);
string.AppendCString ("\"");
}
if (!(*it)->GetName().IsEmpty()) {
string.AppendCString("; name=\"");
string.AppendString((*it)->GetName());
string.AppendCString("\"");
}
string.AppendCString ("\r\n");
if ((*it)->IsInline())
string.AppendCString("Content-Disposition: inline\r\n");
if (inEncoding == ENCODING_7BIT || ((inEncoding == ENCODING_BINARY_ONLY) && ((*it)->GetMediaTypeKind() != MIMETYPE_TEXT))) {
string.AppendCString ("Content-Transfer-Encoding: base64\r\n");
bEncodeBody = true;
} else {
string.AppendCString("Content-Transfer-Encoding: 8bit\r\n");
bEncodeBody = false;
}
}
if ((*it)->GetContentID().GetLength()) {
string.AppendCString("Content-ID: <");
string.AppendString((*it)->GetContentID());
string.AppendCString(">\r\n");
}
string.AppendCString ("\r\n");
//.........这里部分代码省略.........