Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.7 KiB

  1. /***************************************************************************/
  2. /** Microsoft Windows **/
  3. /** Copyright(c) Microsoft Corp., 1995-1996 **/
  4. /***************************************************************************/
  5. //
  6. // File: RostInfo.h
  7. // Created: ChrisPi 6/17/96
  8. // Modified:
  9. //
  10. // The CRosterInfo class is defined, which is used for adding user
  11. // information to the T.120 roster
  12. //
  13. #ifndef _ROSTINFO_H_
  14. #define _ROSTINFO_H_
  15. #include <oblist.h>
  16. typedef POSITION HROSTINFO;
  17. typedef HROSTINFO* PHROSTINFO;
  18. extern GUID g_csguidRostInfo;
  19. static const WCHAR g_cwchRostInfoSeparator = L'\0';
  20. static const WCHAR g_cwchRostInfoTagSeparator = L':';
  21. static const WCHAR g_cwszIPTag[] = L"TCP";
  22. static const WCHAR g_cwszULSTag[] = L"ULS";
  23. static const WCHAR g_cwszULS_EmailTag[] = L"EMAIL";
  24. static const WCHAR g_cwszULS_LocationTag[] = L"LOCATION";
  25. static const WCHAR g_cwszULS_PhoneNumTag[] = L"PHONENUM";
  26. static const WCHAR g_cwszULS_CommentsTag[] = L"COMMENTS";
  27. static const WCHAR g_cwszVerTag[] = L"VER";
  28. class CRosterInfo
  29. {
  30. protected:
  31. // Attributes:
  32. COBLIST m_ItemList;
  33. PVOID m_pvSaveData;
  34. // Methods:
  35. UINT GetSize();
  36. public:
  37. // Methods:
  38. CRosterInfo() : m_pvSaveData(NULL) { };
  39. ~CRosterInfo();
  40. HRESULT AddItem(PCWSTR pcwszTag,
  41. PCWSTR pcwszData);
  42. HRESULT ExtractItem(PHROSTINFO phRostInfo,
  43. PCWSTR pcwszTag,
  44. LPTSTR pszBuffer,
  45. UINT cbLength);
  46. HRESULT Load(PVOID pvData);
  47. HRESULT Save(PVOID* ppvData, PUINT pcbLength);
  48. BOOL IsEmpty() {return m_ItemList.IsEmpty(); }
  49. #ifdef DEBUG
  50. VOID Dump();
  51. #endif // DEBUG
  52. };
  53. #endif // _ROSTINFO_H_