17 #include <pia/common/common_StringStream.h> 18 #include <pia/common/common_EmptyStream.h> 19 #include <pia/common/common_Time.h> 29 #if NN_PIA_ENABLE_TRACE 34 #define PIA_TRACE(FLAG, ...) \ 37 nn::pia::common::Trace* pNnPiaCommonTrace = nn::pia::common::Trace::GetInstance(); \ 38 if (pNnPiaCommonTrace) \ 40 if (pNnPiaCommonTrace->IsFlagSet(FLAG)) \ 42 pNnPiaCommonTrace->WriteCaption(); \ 43 pNnPiaCommonTrace->Write(__VA_ARGS__); \ 44 pNnPiaCommonTrace->Write("\n"); \ 55 #define PIA_BOOL_TO_TEXT(VALUE) ((VALUE) ? "true" : "false") 63 #define PIA_TRACE_STREAM(FLAG, ARGS) \ 66 nn::pia::common::Trace* pNnPiaCommonTrace = nn::pia::common::Trace::GetInstance(); \ 67 if (pNnPiaCommonTrace) \ 69 if (pNnPiaCommonTrace->IsFlagSet(FLAG)) \ 71 pNnPiaCommonTrace->WriteCaption(); \ 72 nn::pia::common::StringStream nnPiaCommonStringStream; \ 73 (nnPiaCommonStringStream) << ARGS << NN_PIA_T("\n"); \ 74 pNnPiaCommonTrace->Write(nnPiaCommonStringStream.CStr()); \ 85 #define PIA_TRACE_EX(FLAG, ...) \ 88 nn::pia::common::Trace* pNnPiaCommonTrace = nn::pia::common::Trace::GetInstance(); \ 89 if (pNnPiaCommonTrace) \ 91 if (pNnPiaCommonTrace->IsFlagSet(FLAG)) \ 93 pNnPiaCommonTrace->WriteCaption(); \ 94 pNnPiaCommonTrace->Write("%s %s:", PIA_CODE_POSITION_FILE, PIA_CODE_POSITION_FUNC); \ 95 pNnPiaCommonTrace->Write(__VA_ARGS__); \ 96 pNnPiaCommonTrace->Write("\n"); \ 104 #else // else of NN_PIA_ENABLE_TRACE 106 #define PIA_TRACE(FLAG, ...) (void)(FLAG) 107 #define PIA_BOOL_TO_TEXT(VALUE) 108 #define PIA_TRACE_STREAM(FLAG, ARGS) \ 110 nn::pia::common::EmptyStream(FLAG) << ARGS; \ 112 #define PIA_TRACE_EX(FLAG, ...) (void)(FLAG) 114 #endif // end of NN_PIA_ENABLE_TRACE 256 static bool IsFlagSetStatic(u64 flag)
258 #if NN_PIA_ENABLE_TRACE 266 NN_PIA_DUMMY_PARAM(flag);
277 void Write(
const char* pFmt, ...);
311 m_flags = m_flags & (~flags);
327 #if NN_PIA_ENABLE_TRACE 328 return (m_flags & flag) != 0;
330 NN_PIA_DUMMY_PARAM(flag);
351 m_IsPrintTime = isPrint;
361 return m_IsPrintTime;
401 static Trace* s_pInstance;
static const TraceFlag TRACE_FLAG_BRAIN_DETAIL
Flag for tracing the PiaBrain module.
Definition: common_Trace.h:188
static const TraceFlag TRACE_FLAG_TRANSPORT_PACKET_SEND
Flag for tracing packet sending in the PiaTransport module.
Definition: common_Trace.h:157
static const TraceFlag TRACE_FLAG_SESSION_MIGRATION
Flag for tracing host migration in the PiaSession module.
Definition: common_Trace.h:168
static const TraceFlag TRACE_FLAG_TRANSPORT_INIT
Flag for tracing initialization and finalization in the PiaTransport module.
Definition: common_Trace.h:153
static void DestroyInstance(void)
Destroys the Trace class instance (singleton pattern).
void ResetBaseTime()
Resets the base time for the time display to the current time.
Definition: common_Trace.h:368
static const TraceFlag TRACE_FLAG_ALL
Flag for tracing everything.
Definition: common_Trace.h:190
static const TraceFlag TRACE_FLAG_TRANSPORT_PROTOCOLMESSAGE_SEND
Flag for tracing ProtocolMessage sending in the PiaTransport module.
Definition: common_Trace.h:159
static const TraceFlag TRACE_FLAG_SESSION_CONNECT
Flag for tracing connections in the PiaSession module.
Definition: common_Trace.h:165
static const TraceFlag TRACE_FLAG_INET
Flag for tracing the PiaInet module.
Definition: common_Trace.h:141
Class that represents time.
Definition: common_Time.h:39
static const TraceFlag TRACE_FLAG_SESSION_INIT
Flag for tracing initialization and finalization in the PiaSession module.
Definition: common_Trace.h:169
void ClearFlag(void)
Clears all trace flags, except for TRACE_FLAG_ALWAYS.
Definition: common_Trace.h:338
static const TraceFlag TRACE_FLAG_LOCAL_TRANSPORT
Flag for tracing sending and receiving in the PiaLocal module.
Definition: common_Trace.h:138
static const TraceFlag TRACE_FLAG_INET_NAT_PROBE
Flag for verbose tracing of NAT traversal by the PiaInet module.
Definition: common_Trace.h:149
static const TraceFlag TRACE_FLAG_TRANSPORT_RTT
Flag for tracing the round-trip time (RTT) protocol in the PiaTransport module.
Definition: common_Trace.h:155
This class is the trace class.
Definition: common_Trace.h:212
static const TraceFlag TRACE_FLAG_TRANSPORT_PROTOCOLMESSAGE_RECEIVE
Flag for tracing ProtocolMessage reception in the PiaTransport module.
Definition: common_Trace.h:160
static const TraceFlag TRACE_FLAG_INET_SOCKET
Flag for tracing sockets in the PiaInet module.
Definition: common_Trace.h:143
static const TraceFlag TRACE_FLAG_TRANSPORT_RELAY_DETAIL
Flag for tracing the details of the relay feature in the PiaTransport module.
Definition: common_Trace.h:162
static const TraceFlag TRACE_FLAG_SYNC
Flag for tracing the PiaSync module.
Definition: common_Trace.h:172
static const TraceFlag TRACE_FLAG_UTIL
Flag for tracing the PiaUtil module.
Definition: common_Trace.h:180
static const TraceFlag TRACE_FLAG_SERVICE_RELAY_SERVER
Flag for tracing the PiaService module.
Definition: common_Trace.h:185
void SetFlag(u64 flags)
Enables trace flags.
Definition: common_Trace.h:296
static const TraceFlag TRACE_FLAG_COMMON_JOB
Flag for tracing jobs in the PiaCommon module.
Definition: common_Trace.h:135
static const TraceFlag TRACE_FLAG_SESSION
Flag for tracing the PiaSession module.
Definition: common_Trace.h:164
static const TraceFlag TRACE_FLAG_NEVER
The flag indicating that this is never displayed.
Definition: common_Trace.h:130
static const TraceFlag TRACE_FLAG_TRANSPORT
Flag for tracing the PiaTransport module.
Definition: common_Trace.h:152
static const TraceFlag TRACE_FLAG_INET_NAT
Flag for tracing NAT traversal by the PiaInet module.
Definition: common_Trace.h:147
static const TraceFlag TRACE_FLAG_COMMON
Flag for tracing the PiaCommon module.
Definition: common_Trace.h:133
static const TraceFlag TRACE_FLAG_RECKONING
Flag for tracing the PiaReckoning module.
Definition: common_Trace.h:176
static const TraceFlag TRACE_FLAG_INET_SOCKET_SEND
Flag for tracing send operations in the PiaInet module.
Definition: common_Trace.h:145
static const TraceFlag TRACE_FLAG_SERVICE_TRANSPORT_DETAIL
Flag for tracing the PiaService module.
Definition: common_Trace.h:184
static nn::Result CreateInstance(void)
Creates the Trace class instance (singleton pattern).
static const TraceFlag TRACE_FLAG_TRANSPORT_PACKET_RECEIVE
Flag for tracing packet reception in the PiaTransport module.
Definition: common_Trace.h:158
static const TraceFlag TRACE_FLAG_TRANSPORT_KEEP_ALIVE
Flag for tracing keep-alives in the PiaTransport module.
Definition: common_Trace.h:154
static const TraceFlag TRACE_FLAG_COMMON_EVENT
Flag for tracing events in the PiaCommon module.
Definition: common_Trace.h:134
void SetNow()
Makes this object represent the current time.
static const TraceFlag TRACE_FLAG_DEFAULT
The default value for TraceFlag.
Definition: common_Trace.h:192
void SetPrintTime(bool isPrint)
Enables and disables the time display. When enabled, it displays the time passed from the base time i...
Definition: common_Trace.h:349
bool IsFlagSet(u64 flag) const
Indicates whether the specified flags are set.
Definition: common_Trace.h:325
static const TraceFlag TRACE_FLAG_LOCAL
Flag for tracing the PiaLocal module.
Definition: common_Trace.h:137
static Trace * GetInstance(void)
Gets the Trace class instance (singleton pattern).
Definition: common_Trace.h:247
void ClearFlag(u64 flags)
Disables the specified trace flags.
Definition: common_Trace.h:309
static const TraceFlag TRACE_FLAG_CHAT
Flag for tracing the PiaChat module.
Definition: common_Trace.h:178
static const TraceFlag TRACE_FLAG_SESSION_LEAVE
Flag for tracing disconnections in the PiaSession module.
Definition: common_Trace.h:166
u64 TraceFlag
Defines the tracing flag type.
Definition: common_Trace.h:123
static const TraceFlag TRACE_FLAG_CLONE
Flag for tracing the PiaClone module.
Definition: common_Trace.h:174
bool IsPrintTime() const
Gets whether time display is enabled or disabled.
Definition: common_Trace.h:359
static const TraceFlag TRACE_FLAG_LOCAL_MIGRATION
Flag for tracing host migration in the PiaLocal module.
Definition: common_Trace.h:139
static const TraceFlag TRACE_FLAG_TRANSPORT_BUFFER
Flag for tracing buffers in the PiaTransport module.
Definition: common_Trace.h:156
static const TraceFlag TRACE_FLAG_INET_SOCKET_RECEIVE
Flag for tracing receive operations in the PiaInet module.
Definition: common_Trace.h:146
static const TraceFlag TRACE_FLAG_TRANSPORT_RELAY
Flag for tracing the relay feature of the PiaTransport module.
Definition: common_Trace.h:161
static const TraceFlag TRACE_FLAG_INET_SOCKET_DETAIL
Flag for verbose tracing of sockets in the PiaInet module.
Definition: common_Trace.h:144
static const TraceFlag TRACE_FLAG_INET_NAT_DETAIL
Flag for verbose tracing of NAT traversal by the PiaInet module.
Definition: common_Trace.h:148
static const TraceFlag TRACE_FLAG_INET_INIT
Flag for tracing initialization and finalization in the PiaInet module.
Definition: common_Trace.h:142
static const TraceFlag TRACE_FLAG_BRAIN
Flag for tracing the PiaBrain module.
Definition: common_Trace.h:187
static const TraceFlag TRACE_FLAG_SERVICE_TRANSPORT
Flag for tracing the PiaService module.
Definition: common_Trace.h:183
This is the common base class used inside the Pia library.
Definition: common_RootObject.h:40
static const TraceFlag TRACE_FLAG_SESSION_JOINT
Flag for tracing joint sessions in the PiaSession module.
Definition: common_Trace.h:170
static const TraceFlag TRACE_FLAG_ALWAYS
The flag indicating that this is always displayed.
Definition: common_Trace.h:131
static const TraceFlag TRACE_FLAG_SESSION_UPDATE
Flag for tracing updates in the PiaSession module.
Definition: common_Trace.h:167
static const TraceFlag TRACE_FLAG_INET_GATEWAY
Flag for tracing gateway services in the PiaInet module. (There are no plans to put gateway services ...
Definition: common_Trace.h:150
static const TraceFlag TRACE_FLAG_SERVICE
Flag for tracing the PiaService module.
Definition: common_Trace.h:182