ForwardingLog Objects (C++)

[C++]

struct ForwardingLog : RefCountable
{
  enum Event;

  // Note:
  // - Examine the value of m_event, then down cast to the appropriate ForwardingLog_Xxxx object
  unsigned int m_event; // Event
  std::wstring m_desc;
};


struct ForwardingLog_X2Y : ForwardingLog
{
  enum Type;

  unsigned int m_type; // Type
  std::wstring m_listInterface;
  unsigned int m_listPort;
  std::wstring m_origAddress;
  unsigned int m_origPort;
  std::wstring m_destAddress;
  unsigned int m_destPort;
};


struct ForwardingLog_X2YOpenFailed : ForwardingLog_X2Y
{
  std::wstring m_auxInfo;
};


struct ForwardingLog_X2YClosed : ForwardingLog_X2Y
{
  unsigned __int64 m_bytesSent;
  unsigned __int64 m_bytesReceived;
};


struct ForwardingLog_ServerSideC2S : ForwardingLog
{
  std::wstring m_listInterface;
  unsigned int m_listPort;
};


struct ForwardingLog_ServerSideC2SAddFailed : ForwardingLog_ServerSideC2S
{
  enum ErrCode;

  unsigned int m_errCode; // ErrCode
  std::wstring m_auxInfo;
};


struct ForwardingLog_Proxy : ForwardingLog
{
  std::wstring m_proxyListInterface;
  unsigned int m_proxyListPort;
  std::wstring m_proxyOrigAddress;
  unsigned int m_proxyOrigPort;
};


struct ForwardingLog_ProxyDecodeFailed : ForwardingLog_Proxy
{
  enum ErrCode;

  unsigned int m_errCode; // ErrCode
  std::wstring m_auxInfo;
};


struct ForwardingLog_ProxyStarted : ForwardingLog_Proxy
{
  enum ProxyType;

  unsigned int m_proxyType; // ProxyType
  std::wstring m_proxyReqAddress;
  unsigned int m_proxyReqPort;
};


struct ForwardingLog_ProxyBindFailed : ForwardingLog_ProxyStarted
{
  enum ErrCode;

  unsigned int m_errCode; // ErrCode
  std::wstring m_auxInfo;
};


struct ForwardingLog_ProxyBindStarted : ForwardingLog_ProxyStarted
{
  std::wstring m_bindPublicAddress;
  unsigned int m_bindPublicPort;
  std::wstring m_bindListInterface;
  unsigned int m_bindListPort;
};


struct ForwardingLog_ProxyBindAborted : ForwardingLog_ProxyBindStarted
{
  enum AbrtCode;
    
  unsigned int m_abrtCode; // AbrtCode
  std::wstring m_auxInfo;
};