$#include "HttpRequest.h" enum HttpRequestState { HTTP_INITIALIZING, HTTP_ERROR, HTTP_OPEN, HTTP_CLOSED }; class HttpRequest : public Deserializer { const String GetURL() const; const String GetVerb() const; String GetError() const; HttpRequestState GetState() const; unsigned GetAvailableSize() const; bool IsOpen() const; tolua_readonly tolua_property__get_set String URL; tolua_readonly tolua_property__get_set String verb; tolua_readonly tolua_property__get_set String error; tolua_readonly tolua_property__get_set HttpRequestState state; tolua_readonly tolua_property__get_set unsigned availableSize; tolua_readonly tolua_property__is_set bool open; }; class SharedPtr { TOLUA_TEMPLATE_BIND(T, HttpRequest) SharedPtr(); ~SharedPtr(); bool Null() const; bool NotNull() const; T* Get() const; }; $renaming SharedPtr @ HttpRequestSPtr