当前位置: 首页>>代码示例>>C++>>正文


C++ VString::FromCString方法代码示例

本文整理汇总了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;
	}
}
开发者ID:sanyaade-webdev,项目名称:core-Components,代码行数:11,代码来源:HTTPServerTools.cpp

示例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;
	}
}
开发者ID:sanyaade-webdev,项目名称:core-Components,代码行数:11,代码来源:HTTPServerTools.cpp

示例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;
}
开发者ID:sanyaade-webdev,项目名称:core-XToolbox,代码行数:8,代码来源:XWinFontMgr.cpp

示例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;
}
开发者ID:sanyaade-mobiledev,项目名称:core-Components,代码行数:44,代码来源:VHTTPServerProject.cpp

示例5: GetDescription

void VProjectItemDataClassAttribute::GetDescription( XBOX::VString& outDescription) const
{
	outDescription.FromCString( "Data Class Attribute");
}
开发者ID:sanyaade-mobiledev,项目名称:core-Wakanda,代码行数:4,代码来源:VProjectItemBehaviour.cpp

示例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;
	}
}
开发者ID:sanyaade-webdev,项目名称:core-Components,代码行数:35,代码来源:HTTPServerTools.cpp

示例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;
}
开发者ID:sanyaade-webdev,项目名称:core-Components,代码行数:86,代码来源:HTTPServerTools.cpp

示例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
开发者ID:sanyaade-webdev,项目名称:core-Components,代码行数:66,代码来源:VHTTPResponse.cpp

示例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));
//.........这里部分代码省略.........
开发者ID:sanyaade-teachings,项目名称:core-Wakanda,代码行数:101,代码来源:main.cpp

示例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");

//.........这里部分代码省略.........
开发者ID:sanyaade-iot,项目名称:core-XToolbox,代码行数:101,代码来源:VMIMEMessage.cpp


注:本文中的xbox::VString::FromCString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。