|
0 A.D. | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Field Summary | |
MessageDeserializerMap |
g_DeserializerMap
See NetMessage.cpp |
CNetClient* |
g_NetClient
See Client.cpp |
CNetLog |
g_NetLog
See NetLog.cpp |
CNetServer* |
g_NetServer
See Server.cpp |
CSocketSetInternal |
g_SocketSetInternal
See SocketBase.cpp |
Method Summary | |
void* |
CStreamSocket_ConnectThread( void* data )
See StreamSocket.cpp |
|
DECLARE_ERROR( CONFLICTING_OP_IN_PROGRESS )
See Network.h |
|
DECLARE_ERROR( INVALID_PROTOCOL )
See SocketBase.h |
|
DECLARE_ERROR( CONNECT_IN_PROGRESS )
See SocketBase.h |
|
DECLARE_ERROR( INVALID_PORT )
See SocketBase.h |
|
DECLARE_ERROR( PORT_IN_USE )
See SocketBase.h |
|
DECLARE_ERROR( WAIT_ABORTED )
See SocketBase.h |
|
DECLARE_ERROR( CONNECTION_BROKEN )
See SocketBase.h |
|
DECLARE_ERROR( NO_ROUTE_TO_HOST )
See SocketBase.h |
|
DECLARE_ERROR( WAIT_LOOP_FAIL )
See SocketBase.h |
|
DECLARE_ERROR( NO_SUCH_HOST )
See SocketBase.h |
|
DECLARE_ERROR( CONNECT_REFUSED )
See SocketBase.h |
|
DECLARE_ERROR( CONNECT_TIMEOUT )
See SocketBase.h |
|
DEFINE_ERROR( CONFLICTING_OP_IN_PROGRESS,"A conflicting operation is already in progress" )
See Network.cpp |
|
DEFINE_ERROR( INVALID_PROTOCOL,"The socket type or protocol is not supported by the operating system. Make sure that the TCP/IP protocol is installed and activated" )
See SocketBase.cpp |
|
DEFINE_ERROR( INVALID_PORT,"The port specified is either invalid, or forbidden by system or firewall policy" )
See SocketBase.cpp |
|
DEFINE_ERROR( PORT_IN_USE,"The port is already in use by another process" )
See SocketBase.cpp |
|
DEFINE_ERROR( CONNECT_IN_PROGRESS,"The connect attempt has started, but is not yet complete" )
See SocketBase.cpp |
|
DEFINE_ERROR( CONNECTION_BROKEN,"The connection has been closed" )
See SocketBase.cpp |
|
DEFINE_ERROR( NO_ROUTE_TO_HOST,"No route to host" )
See SocketBase.cpp |
|
DEFINE_ERROR( CONNECT_REFUSED,"The connection attempt was refused" )
See SocketBase.cpp |
|
DEFINE_ERROR( CONNECT_TIMEOUT,"The connection attempt timed out" )
See SocketBase.cpp |
|
DEFINE_ERROR( NO_SUCH_HOST,"Host not found" )
See SocketBase.cpp |
void |
FillSetGameConfigCB( const CStrW& name, ISynchedJSProperty* prop, void* userdata )
See Server.cpp |
void |
FillSetPlayerConfigCB( const CStrW& name, ISynchedJSProperty* prop, void* userdata )
See Server.cpp |
PS_RESULT |
GetPS_RESULT( int error )
See SocketBase.cpp |
template< typename _T > inline CStr |
NetMessageStringConvert( const _T& arg )
See StringConverters.h |
template< > inline CStr |
NetMessageStringConvert( const HEntity& arg )
See StringConverters.h |
void* |
WaitLoopThreadMain( void* )
See SocketBase.cpp |
Macro Summary | |
#define |
__shift_de(_pos, _val) STMT( (_val) <<= 8 (_val) += *((_pos)++) )
See Serialization.h |
#define |
ALIGN_UP(_n, _block) (_n+_block-(_n%_block))
See Network.cpp |
#define |
ARRAY_STRUCT_PREFIX(_nm) S_##_nm
See NMTCreator.h |
#define |
BUFFER_SIZE(_n) ALIGN_UP(_n, BUFFER_BLOCK)
See Network.cpp |
#define |
CASE(_a, _b) case _a: pMsg->m_Assignment=_b break
See Server.cpp |
#define |
CHAIN(_chainHandler) STMT(if (_chainHandler(pMsg, pSession)) return true)
See Client.cpp |
#define |
closesocket(_fd) close(_fd)
See NetworkInternal.h |
#define |
def(_msg) g_ScriptingHost.DefineConstant(#_msg, _msg)
See NetMessage.cpp |
#define |
DERIVE_NMT_CLASS_(_base, _nm) START_NMT_CLASS_DERIVED(C ## _base, C ## _nm, NMT_ ## _nm)
See AllNetMessages.h |
#define |
Deserialize_int_1(_pos, _val) STMT((_val) = *((_pos)++) )
See Serialization.h |
#define |
Deserialize_int_2(_pos, _val) STMT(Deserialize_int_1(_pos, _val) __shift_de(_pos, _val) )
See Serialization.h |
#define |
Deserialize_int_3(_pos, _val) STMT(Deserialize_int_2(_pos, _val) __shift_de(_pos, _val) )
See Serialization.h |
#define |
Deserialize_int_4(_pos, _val) STMT(Deserialize_int_3(_pos, _val) __shift_de(_pos, _val) )
See Serialization.h |
#define |
Deserialize_int_8(_pos, _val) STMT(uint32 _v1 uint32 _v2 Deserialize_int_4(_pos, _v1) Deserialize_int_4(_pos, _v2) _val = _v1 _val <<= 32 _val |= _v2 )
See Serialization.h |
#define |
EntityIntMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg() msg->m_IsQueued = isQueued msg->m_Entities = entities ReadEntity(msg, m_Target) ReadInt(msg, m_Action) return msg }
See NetMessage.cpp |
#define |
EntityMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg() msg->m_IsQueued = isQueued msg->m_Entities = entities ReadEntity(msg, m_Target) return msg }
See NetMessage.cpp |
#define |
EntMessage(_msg) case NMT_ ## _msg: { C##_msg* msg = new C##_msg() msg->m_Entities = entities msg->m_Target = target msg->m_Action = action return msg }
See NetMessage.cpp |
#define |
HANDLED(_pMsg) delete _pMsg return true
See ServerSession.cpp |
#define |
MakeDefaultCallback(_nm) void CStreamSocket::_nm(PS_RESULT error) { NET_LOG("CStreamSocket::"#_nm"(): %s", error) }
See StreamSocket.cpp |
#define |
Network_GetErrorString(_error, _buf, _buflen) FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, _error+WSABASEERR, 0, _buf, _buflen, NULL)
See NetworkInternal.h |
#define |
NMT_FIELD(_tp, _nm) ret += #_nm _T(": ") ret += NetMessageStringConvert(thiz->_nm) ret += _T(", ")
See NMTCreator.h |
#define |
NMT_FIELD_INT(_nm, _hosttp, _netsz) ret += #_nm _T(": ") ret += NetMessageStringConvert(thiz->_nm) ret += _T(", ")
See NMTCreator.h |
#define |
NMT_START_ARRAY(_nm) ret+=#_nm _T(": { ") std::vector < ARRAY_STRUCT_PREFIX(_nm) >::const_iterator it=_nm.begin() while (it != _nm.end()) { ret+=_T(" { ") const ARRAY_STRUCT_PREFIX(_nm) *thiz=&*itUNUSED2(thiz)
See NMTCreator.h |
#define |
PlaceObjectMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg() msg->m_IsQueued = isQueued msg->m_Entities = entities ReadString(msg, m_Template) ReadInt(msg, m_X) ReadInt(msg, m_Y) ReadInt(msg, m_Z) ReadInt(msg, m_Angle) return msg }
See NetMessage.cpp |
#define |
PositionMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg() msg->m_IsQueued = isQueued msg->m_Entities = entities ReadPosition(msg, m_Target) return msg }
See NetMessage.cpp |
#define |
PosMessage(_msg) case NMT_ ## _msg: { C##_msg* msg = new C##_msg() msg->m_Entities = entities msg->m_TargetX = pos.x msg->m_TargetY = pos.y return msg }
See NetMessage.cpp |
#define |
ProduceMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg() msg->m_IsQueued = isQueued msg->m_Entities = entities ReadInt(msg, m_Type) ReadString(msg, m_Name) return msg }
See NetMessage.cpp |
#define |
ProMessage(_msgcase) NMT_ ## _msg: { C##_msg* msg = new C##_msg() msg->m_Entities = entities msg->m_Type = proType msg->m_Name = name return msg }
See NetMessage.cpp |
#define |
ReadEntity(_msg, _field) STMT(if (argIndex+1 > argc) ArgumentCountError() if (!JSVAL_IS_OBJECT(argv[argIndex])) ArgumentTypeError() CEntity *ent=ToNative<CEntity>(argv[argIndex++]) if (!ent) { JS_ReportError(cx, "Invalid entity parameter") return NULL } _msg->_field=ent->me )
See NetMessage.cpp |
#define |
ReadInt(_msg, _field) STMT(if (argIndex+1 > argc) ArgumentCountError() if (!JSVAL_IS_INT(argv[argIndex])) ArgumentTypeError() int val=ToPrimitive
See NetMessage.cpp |
#define |
ReadPosition(_msg, _field) try { if (argIndex+2 > argc) ArgumentCountError()if (!JSVAL_IS_INT(argv[argIndex]) || !JSVAL_IS_INT(argv[argIndex+1])) ArgumentTypeError() _msg->_field ## X = ToPrimitive
See NetMessage.cpp |
#define |
ReadString(_msg, _field) STMT(if (argIndex+1 > argc) ArgumentCountError() if (!JSVAL_IS_STRING(argv[argIndex])) ArgumentTypeError() CStrW val=ToPrimitive<CStrW>(argv[argIndex++]) _msg->_field=val )
See NetMessage.cpp |
#define |
Serialize_int_1(_pos, _val) STMT( *((_pos)++) = (u8)((_val)&0xff) )
See Serialization.h |
#define |
Serialize_int_2(_pos, _val) STMT(Serialize_int_1(_pos, (_val)>>8) Serialize_int_1(_pos, (_val)) )
See Serialization.h |
#define |
Serialize_int_3(_pos, _val) STMT(Serialize_int_1(_pos, (_val)>>16) Serialize_int_2(_pos, (_val)) )
See Serialization.h |
#define |
Serialize_int_4(_pos, _val) STMT(Serialize_int_1(_pos, (_val)>>24) Serialize_int_3(_pos, (_val)) )
See Serialization.h |
#define |
Serialize_int_8(_pos, _val) STMT(Serialize_int_4(_pos, (_val)>>32) Serialize_int_4(_pos, (_val)) )
See Serialization.h |
#define |
START_NMT_CLASS(_nm, _tp) CStr _nm::GetString() const { CStr ret=#_nm _T(" { ") return ret + GetStringRaw() + _T(" }") } CStr _nm::GetStringRaw() const { CStr ret const _nm *thiz=thisUNUSED2(thiz)
See NMTCreator.h |
#define |
START_NMT_CLASS_(_nm) START_NMT_CLASS(C ## _nm, NMT_ ## _nm)
See AllNetMessages.h |
#define |
START_NMT_CLASS_DERIVED(_base, _nm, _tp) CStr _nm::GetString() const { CStr ret=#_nm _T(" { ") return ret + GetStringRaw() + _T(" }") } CStr _nm::GetStringRaw() const { CStr ret=_base::GetStringRaw() + _T(", ") const _nm *thiz=thisUNUSED2(thiz)
See NMTCreator.h |
#define |
TAKEN(_pMsg) return true
See ServerSession.cpp |
#define |
UNHANDLED(_pMsg) return false
See ServerSession.cpp |
Field Detail |
MessageDeserializerMap g_DeserializerMap;
CNetClient* g_NetClient;
CNetLog g_NetLog;
CNetServer* g_NetServer;
CSocketSetInternal g_SocketSetInternal;
Method Detail |
void* CStreamSocket_ConnectThread( void* data );
DECLARE_ERROR( CONFLICTING_OP_IN_PROGRESS );
DECLARE_ERROR( INVALID_PROTOCOL );
DECLARE_ERROR( CONNECT_IN_PROGRESS );
DECLARE_ERROR( INVALID_PORT );
DECLARE_ERROR( PORT_IN_USE );
DECLARE_ERROR( WAIT_ABORTED );
DECLARE_ERROR( CONNECTION_BROKEN );
DECLARE_ERROR( NO_ROUTE_TO_HOST );
DECLARE_ERROR( WAIT_LOOP_FAIL );
DECLARE_ERROR( NO_SUCH_HOST );
DECLARE_ERROR( CONNECT_REFUSED );
DECLARE_ERROR( CONNECT_TIMEOUT );
DEFINE_ERROR( CONFLICTING_OP_IN_PROGRESS,"A conflicting operation is already in progress" );
DEFINE_ERROR( INVALID_PROTOCOL,"The socket type or protocol is not supported by the operating system. Make sure that the TCP/IP protocol is installed and activated" );
DEFINE_ERROR( INVALID_PORT,"The port specified is either invalid, or forbidden by system or firewall policy" );
DEFINE_ERROR( PORT_IN_USE,"The port is already in use by another process" );
DEFINE_ERROR( CONNECT_IN_PROGRESS,"The connect attempt has started, but is not yet complete" );
DEFINE_ERROR( CONNECTION_BROKEN,"The connection has been closed" );
DEFINE_ERROR( NO_ROUTE_TO_HOST,"No route to host" );
DEFINE_ERROR( CONNECT_REFUSED,"The connection attempt was refused" );
DEFINE_ERROR( CONNECT_TIMEOUT,"The connection attempt timed out" );
DEFINE_ERROR( NO_SUCH_HOST,"Host not found" );
void FillSetGameConfigCB( const CStrW& name, ISynchedJSProperty* prop, void* userdata );
void FillSetPlayerConfigCB( const CStrW& name, ISynchedJSProperty* prop, void* userdata );
PS_RESULT GetPS_RESULT( int error );
template< typename _T > inline CStr NetMessageStringConvert( const _T& arg );
template< > inline CStr NetMessageStringConvert( const HEntity& arg );
void* WaitLoopThreadMain( void* );
Symbol Detail |
#define ALLNETMSGS_DONT_CREATE_NMTS
#define ALLNETMSGS_IMPLEMENT
#define ArgumentCountError STMT(JS_ReportError(cx, "Too few parameters!"); return NULL; )
#define ArgumentTypeError STMT(JS_ReportError(cx, "Parameter type error!"); return NULL; )
#define BAIL_DESERIALIZER return NULL
#define BUFFER_BLOCK 4096
#define CREATING_NMT
#define END_NMT_CLASS return ret.substr(0, ret.length()-2); }
#define END_NMTS
#define g_SessionManager (CSessionManager::GetSingleton())
#define GLOBAL_LOCK pthread_mutex_lock(&g_SocketSetInternal.m_Mutex)
#define GLOBAL_UNLOCK pthread_mutex_unlock(&g_SocketSetInternal.m_Mutex)
#define HEADER_LENGTH 3
#define INCLUDED_ALLNETMESSAGES
#define INCLUDED_NETWORK_CLIENT
#define INCLUDED_NETWORK_JSEVENTS
#define INCLUDED_NETWORK_NETLOG
#define INCLUDED_NETWORK_NETMESSAGE
#define INCLUDED_NETWORK_NETWORK
#define INCLUDED_NETWORK_NETWORKINTERNAL
#define INCLUDED_NETWORK_SERIALIZATION
#define INCLUDED_NETWORK_SERVER
#define INCLUDED_NETWORK_SERVERSESSION
#define INCLUDED_NETWORK_SESSION
#define INCLUDED_NETWORK_SESSIONMANAGER
#define INCLUDED_NETWORK_SOCKETBASE
#define INCLUDED_NETWORK_STREAMSOCKET
#define INCLUDED_NETWORK_STRINGCONVERTERS
#define LOG_ARGS_PREFIX (uint)get_time(), ((uint)(get_time()*1000)) % 1000,
#define LOG_ARGS_SUFFIX
#define LOG_CAT_NET "net"
#define LOG_FORMAT "[%3u.%03u] %s\n"
#define MSG_SOCKET_READY WM_USER
#define NET_LOG (g_NetLog.Write)
#define Network_LastError (WSAGetLastError() - WSABASEERR)
#define NMT_CREATE_HEADER_NAME "AllNetMessages.h"
#define NMT_CREATOR_IMPLEMENT
#define NMT_CREATOR_PASS_CLASSDEF
#define NMT_CREATOR_PASS_DESERIALIZE
#define NMT_CREATOR_PASS_GETLENGTH
#define NMT_CREATOR_PASS_REGISTRATION
#define NMT_CREATOR_PASS_SERIALIZE
#define NMT_END_ARRAY ++it; ret=ret.substr(0, ret.length()-2)+_T(" }, "); } ret=ret.substr(0, ret.length()-2)+_T(" }, ");
#define PS_DEFAULT_PORT 0x5073
#define PS_PROTOCOL_MAGIC 0x5073013f
#define PS_PROTOCOL_MAGIC_RESPONSE 0x50630121
#define PS_PROTOCOL_VERSION 0x01010002
#define RECORD_GLOBAL_STATS 1
#define START_NMTS
#define WSABASEERR 10000
Macro Detail |
#define __shift_de(_pos, _val) STMT( (_val) <<= 8; (_val) += *((_pos)++); )
#define ALIGN_UP(_n, _block) (_n+_block-(_n%_block))
#define ARRAY_STRUCT_PREFIX(_nm) S_##_nm
#define BUFFER_SIZE(_n) ALIGN_UP(_n, BUFFER_BLOCK)
#define CASE(_a, _b) case _a: pMsg->m_Assignment=_b; break;
#define CHAIN(_chainHandler) STMT(if (_chainHandler(pMsg, pSession)) return true;)
#define closesocket(_fd) close(_fd)
#define def(_msg) g_ScriptingHost.DefineConstant(#_msg, _msg)
#define DERIVE_NMT_CLASS_(_base, _nm) START_NMT_CLASS_DERIVED(C ## _base, C ## _nm, NMT_ ## _nm)
#define Deserialize_int_1(_pos, _val) STMT((_val) = *((_pos)++); )
#define Deserialize_int_2(_pos, _val) STMT(Deserialize_int_1(_pos, _val); __shift_de(_pos, _val); )
#define Deserialize_int_3(_pos, _val) STMT(Deserialize_int_2(_pos, _val); __shift_de(_pos, _val); )
#define Deserialize_int_4(_pos, _val) STMT(Deserialize_int_3(_pos, _val); __shift_de(_pos, _val); )
#define Deserialize_int_8(_pos, _val) STMT(uint32 _v1; uint32 _v2; Deserialize_int_4(_pos, _v1); Deserialize_int_4(_pos, _v2); _val = _v1; _val <<= 32; _val |= _v2; )
#define EntityIntMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg(); msg->m_IsQueued = isQueued; msg->m_Entities = entities; ReadEntity(msg, m_Target); ReadInt(msg, m_Action); return msg; }
#define EntityMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg(); msg->m_IsQueued = isQueued; msg->m_Entities = entities; ReadEntity(msg, m_Target); return msg; }
#define EntMessage(_msg) case NMT_ ## _msg: { C##_msg* msg = new C##_msg(); msg->m_Entities = entities; msg->m_Target = target; msg->m_Action = action; return msg; }
#define HANDLED(_pMsg) delete _pMsg; return true;
#define MakeDefaultCallback(_nm) void CStreamSocket::_nm(PS_RESULT error) { NET_LOG("CStreamSocket::"#_nm"(): %s", error); }
#define Network_GetErrorString(_error, _buf, _buflen) FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, _error+WSABASEERR, 0, _buf, _buflen, NULL)
#define NMT_FIELD(_tp, _nm) ret += #_nm _T(": "); ret += NetMessageStringConvert(thiz->_nm); ret += _T(", ");
#define NMT_FIELD_INT(_nm, _hosttp, _netsz) ret += #_nm _T(": "); ret += NetMessageStringConvert(thiz->_nm); ret += _T(", ");
#define NMT_START_ARRAY(_nm) ret+=#_nm _T(": { "); std::vector < ARRAY_STRUCT_PREFIX(_nm) >::const_iterator it=_nm.begin(); while (it != _nm.end()) { ret+=_T(" { "); const ARRAY_STRUCT_PREFIX(_nm) *thiz=&*it;UNUSED2(thiz);
#define PlaceObjectMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg(); msg->m_IsQueued = isQueued; msg->m_Entities = entities; ReadString(msg, m_Template); ReadInt(msg, m_X); ReadInt(msg, m_Y); ReadInt(msg, m_Z); ReadInt(msg, m_Angle); return msg; }
#define PositionMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg(); msg->m_IsQueued = isQueued; msg->m_Entities = entities; ReadPosition(msg, m_Target); return msg; }
#define PosMessage(_msg) case NMT_ ## _msg: { C##_msg* msg = new C##_msg(); msg->m_Entities = entities; msg->m_TargetX = pos.x; msg->m_TargetY = pos.y; return msg; }
#define ProduceMessage(_msg) case NMT_ ## _msg: { C##_msg *msg = new C##_msg(); msg->m_IsQueued = isQueued; msg->m_Entities = entities; ReadInt(msg, m_Type); ReadString(msg, m_Name); return msg; }
#define ProMessage(_msgcase) NMT_ ## _msg: { C##_msg* msg = new C##_msg(); msg->m_Entities = entities; msg->m_Type = proType; msg->m_Name = name; return msg; }
#define ReadEntity(_msg, _field) STMT(if (argIndex+1 > argc) ArgumentCountError(); if (!JSVAL_IS_OBJECT(argv[argIndex])) ArgumentTypeError(); CEntity *ent=ToNative<CEntity>(argv[argIndex++]); if (!ent) { JS_ReportError(cx, "Invalid entity parameter"); return NULL; } _msg->_field=ent->me; )
#define ReadInt(_msg, _field) STMT(if (argIndex+1 > argc) ArgumentCountError(); if (!JSVAL_IS_INT(argv[argIndex])) ArgumentTypeError(); int val=ToPrimitive(argv[argIndex++]); _msg->_field=val; )
#define ReadPosition(_msg, _field) try { if (argIndex+2 > argc) ArgumentCountError();if (!JSVAL_IS_INT(argv[argIndex]) || !JSVAL_IS_INT(argv[argIndex+1])) ArgumentTypeError(); _msg->_field ## X = ToPrimitive(argv[argIndex++]); _msg->_field ## Y = ToPrimitive (argv[argIndex++]); } catch (PSERROR_Scripting_ConversionFailed) { JS_ReportError(cx, "Invalid location"); return NULL; }
#define ReadString(_msg, _field) STMT(if (argIndex+1 > argc) ArgumentCountError(); if (!JSVAL_IS_STRING(argv[argIndex])) ArgumentTypeError(); CStrW val=ToPrimitive<CStrW>(argv[argIndex++]); _msg->_field=val; )
#define Serialize_int_1(_pos, _val) STMT( *((_pos)++) = (u8)((_val)&0xff); )
#define Serialize_int_2(_pos, _val) STMT(Serialize_int_1(_pos, (_val)>>8); Serialize_int_1(_pos, (_val)); )
#define Serialize_int_3(_pos, _val) STMT(Serialize_int_1(_pos, (_val)>>16); Serialize_int_2(_pos, (_val)); )
#define Serialize_int_4(_pos, _val) STMT(Serialize_int_1(_pos, (_val)>>24); Serialize_int_3(_pos, (_val)); )
#define Serialize_int_8(_pos, _val) STMT(Serialize_int_4(_pos, (_val)>>32); Serialize_int_4(_pos, (_val)); )
#define START_NMT_CLASS(_nm, _tp) CStr _nm::GetString() const { CStr ret=#_nm _T(" { "); return ret + GetStringRaw() + _T(" }"); } CStr _nm::GetStringRaw() const { CStr ret; const _nm *thiz=this;UNUSED2(thiz);
#define START_NMT_CLASS_(_nm) START_NMT_CLASS(C ## _nm, NMT_ ## _nm)
#define START_NMT_CLASS_DERIVED(_base, _nm, _tp) CStr _nm::GetString() const { CStr ret=#_nm _T(" { "); return ret + GetStringRaw() + _T(" }"); } CStr _nm::GetStringRaw() const { CStr ret=_base::GetStringRaw() + _T(", "); const _nm *thiz=this;UNUSED2(thiz);
#define TAKEN(_pMsg) return true;
#define UNHANDLED(_pMsg) return false;
|
0 A.D.
Generated on September 04, 2007 at 18:13 CppDoc v2.4.0 |
|||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |