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


C++ SharedValue::SetNull方法代码示例

本文整理汇总了C++中SharedValue::SetNull方法的典型用法代码示例。如果您正苦于以下问题:C++ SharedValue::SetNull方法的具体用法?C++ SharedValue::SetNull怎么用?C++ SharedValue::SetNull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SharedValue的用法示例。


在下文中一共展示了SharedValue::SetNull方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Read

	void HttpServerRequest::Read(const ValueList& args, SharedValue result)
	{
		std::istream &in = request.stream();
		if (in.eof() || in.fail())
		{
			result->SetNull();
			return;
		}
		int max_size = 8096;
		if (args.size()==1)
		{
			max_size = args.at(0)->ToInt();
		}
		char *buf = new char[max_size];
		in.read(buf,max_size);
		std::streamsize count = in.gcount();
		if (count == 0)
		{
			result->SetNull();
		}
		else
		{
			result->SetObject(new Blob(buf,count));
		}
		delete [] buf;
	}
开发者ID:alicciabraaten,项目名称:titanium,代码行数:26,代码来源:http_server_request.cpp

示例2: GetIcon

	void AppBinding::GetIcon(const ValueList& args, SharedValue result)
	{
		SharedApplication app = this->host->GetApplication();
		result->SetNull();	

		if (app && !app->image.empty())
		{
			result->SetString(app->image);
		}
	}
开发者ID:jonnymind,项目名称:titanium_desktop,代码行数:10,代码来源:app_binding.cpp

示例3: _GetSubmenu

	void MenuItem::_GetSubmenu(const ValueList& args, SharedValue result)
	{
		if (this->submenu.isNull())
		{
			result->SetNull();
		}
		else
		{
			result->SetObject(this->submenu);
		}
	}
开发者ID:leongersing,项目名称:titanium_desktop,代码行数:11,代码来源:menu_item.cpp

示例4: _GetMenu

	void UIBinding::_GetMenu(const ValueList& args, SharedValue result)
	{
		AutoMenu menu = this->GetMenu();
		if (menu.isNull())
		{
			result->SetNull();
		}
		else
		{
			result->SetObject(menu);
		}
	}
开发者ID:leongersing,项目名称:titanium_desktop,代码行数:12,代码来源:ui_binding.cpp

示例5: Field

	void ResultSetBinding::Field(const ValueList& args, SharedValue result)
	{
		if (rs.isNull())
		{
			result->SetNull();
		}
		else
		{
			args.VerifyException("field", "i");
			TransformValue(args.at(0)->ToInt(),result);
		}
	}
开发者ID:CJ580K,项目名称:titanium,代码行数:12,代码来源:resultset_binding.cpp

示例6: GetHeader

	void HttpServerRequest::GetHeader(const ValueList& args, SharedValue result)
	{
		std::string name = args.at(0)->ToString();
		if (request.has(name))
		{
			std::string value = request.get(name);
			result->SetString(value);
		}
		else
		{
			result->SetNull();
		}
	}
开发者ID:alicciabraaten,项目名称:titanium,代码行数:13,代码来源:http_server_request.cpp

示例7: ToUpperCase

	void Blob::ToUpperCase(const ValueList& args, SharedValue result)
	{
		if (this->length > 0)
		{
			std::string target = this->buffer;
			std::string r = Poco::toUpper(target);
			result->SetString(r);
		}
		else
		{
			result->SetNull();
		}
	}
开发者ID:jonnymind,项目名称:kroll,代码行数:13,代码来源:blob.cpp

示例8: FieldName

	void ResultSetBinding::FieldName(const ValueList& args, SharedValue result)
	{
		if (rs.isNull())
		{
			result->SetNull();
		}
		else
		{
			args.VerifyException("fieldName", "i");
			const std::string &str = rs->columnName(args.at(0)->ToInt());
			result->SetString(str.c_str());
		}
	}
开发者ID:CJ580K,项目名称:titanium,代码行数:13,代码来源:resultset_binding.cpp

示例9: GetIcon

	void AppBinding::GetIcon(const ValueList& args, SharedValue result)
	{
		const SharedApplication app = this->host->GetApplication();
		if (app->image.empty())
		{
			result->SetNull();
		}
		else
		{
			std::string iconPath = app->image;
			result->SetString(iconPath);
		}
	}
开发者ID:alicciabraaten,项目名称:titanium,代码行数:13,代码来源:app_binding.cpp

示例10: TransformValue

	void ResultSetBinding::TransformValue(size_t index, SharedValue result)
	{
		MetaColumn::ColumnDataType type = rs->columnType(index);
		Poco::DynamicAny value = rs->value(index);
		
		if (value.isEmpty())
		{
			result->SetNull();
		}
		else if (type == MetaColumn::FDT_STRING)
		{
			std::string str;
			value.convert(str);
			result->SetString(str);
		}
		else if (type == MetaColumn::FDT_BOOL)
		{
			bool v = false;
			value.convert(v);
			result->SetBool(v);
		}
		else if (type == MetaColumn::FDT_FLOAT || type == MetaColumn::FDT_DOUBLE)
		{
			float f = 0;
			value.convert(f);
			result->SetDouble(f);
		}
		else if (type == MetaColumn::FDT_BLOB || type == MetaColumn::FDT_UNKNOWN)
		{
			std::string str;
			value.convert(str);
			result->SetString(str);
		}
		else
		{
			// the rest of these are ints:
			// FDT_INT8,
			// FDT_UINT8,
			// FDT_INT16,
			// FDT_UINT16,
			// FDT_INT32,
			// FDT_UINT32,
			// FDT_INT64,
			// FDT_UINT64,
			int i;
			value.convert(i);
			result->SetInt(i);
		}
	}
开发者ID:CJ580K,项目名称:titanium,代码行数:49,代码来源:resultset_binding.cpp

示例11: GetResponseHeader

	void HTTPClientBinding::GetResponseHeader(const ValueList& args, SharedValue result)
	{
		if (this->response!=NULL)
		{
			std::string name = args.at(0)->ToString();
			if (this->response->has(name))
			{
				result->SetString(this->response->get(name).c_str());
			}
			else
			{
				result->SetNull();
			}
		}
		else
		{
			throw ValueException::FromString("no available response");
		}
	}
开发者ID:CJ580K,项目名称:titanium,代码行数:19,代码来源:http_client_binding.cpp

示例12: FieldByName

	void ResultSetBinding::FieldByName(const ValueList& args, SharedValue result)
	{
		result->SetNull();
		if (!rs.isNull())
		{
			args.VerifyException("fieldByName", "s");
			std::string name = args.at(0)->ToString();
			size_t count = rs->columnCount();
			for (size_t i = 0; i<count; i++)
			{
				const std::string &str = rs->columnName(i);
				if (str == name)
				{
					TransformValue(i,result);
					break;
				}
			}
		}
	}
开发者ID:CJ580K,项目名称:titanium,代码行数:19,代码来源:resultset_binding.cpp

示例13: Read

	void Pipe::Read(const ValueList& args, SharedValue result)
	{
		if (closed)
		{
			throw ValueException::FromString("Pipe is already closed");
		}
		Poco::PipeInputStream *is = dynamic_cast<Poco::PipeInputStream*>(pipe);
		if (is==NULL)
		{
			throw ValueException::FromString("Stream is not readable");
		}
		char *buf = NULL;
		try
		{
			int size = 1024;
			// allow the size of the returned buffer to be 
			// set by the caller - defaults to 1024 if not specified
			if (args.size()>0 && args.at(0)->IsInt())
			{
				size = args.at(0)->ToInt();
			}
			buf = new char[size];
			is->read(buf,size);
			int count = is->gcount();
			if (count <=0)
			{
				result->SetNull();
			}
			else
			{
				buf[count] = '\0';
				result->SetString(buf);
			}
			delete [] buf;
		}
		catch (Poco::ReadFileException &e)
		{
			if (buf) delete[] buf;
			throw ValueException::FromString(e.what());
		}
	}
开发者ID:pjunior,项目名称:titanium,代码行数:41,代码来源:pipe.cpp

示例14: ReadLine

	void FileStream::ReadLine(const ValueList& args, SharedValue result)
	{
		if(! this->stream)
		{
			Logger* logger = Logger::Get("Filesystem.FileStream");
			logger->Error("Error in readLine. FileStream must be opened before calling read");
			throw ValueException::FromString("FileStream must be opened before calling readLine");
		}

		try
		{
			Poco::FileInputStream* fis = dynamic_cast<Poco::FileInputStream*>(this->stream);
			if(!fis)
			{
				Logger* logger = Logger::Get("Filesystem.FileStream");
				logger->Error("Error in readLine. FileInputStream is null");
				throw ValueException::FromString("FileStream must be opened for reading before calling readLine");
			}

			if(fis->eof())
			{
				// close the file
				result->SetNull();
			}
			else
			{
				std::string line;
				std::getline(*fis, line);
				result->SetObject(new Blob((std::string)line));
			}
		}
		catch (Poco::Exception& exc)
		{
			Logger* logger = Logger::Get("Filesystem.FileStream");
			logger->Error("Error in readLine. Exception: %s",exc.displayText().c_str());
			throw ValueException::FromString(exc.displayText());
		}
	}
开发者ID:cfs051059,项目名称:titanium,代码行数:38,代码来源:file_stream.cpp


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