85 lines
2.6 KiB
C++
85 lines
2.6 KiB
C++
// File: wabutil.h
|
|
|
|
#ifndef _WABUTIL_H_
|
|
#define _WABUTIL_H_
|
|
|
|
#include "wabdefs.h"
|
|
#include "wabapi.h"
|
|
|
|
///////////////////////////////////////
|
|
// NetMeeting named prop IDs in the WAB
|
|
|
|
// DEFINE_OLEGUID(PS_Conferencing, 0x00062004, 0, 0);
|
|
#define PR_SERVERS 0x8056
|
|
#define CONF_DEFAULT_INDEX 0x8057
|
|
#define CONF_BACKUP_INDEX 0x8058
|
|
#define CONF_EMAIL_INDEX 0x8059
|
|
|
|
#define PR_NM_ADDRESS PROP_TAG(PT_MV_STRING8, PR_SERVERS)
|
|
#define PR_NM_DEFAULT PROP_TAG(PT_LONG, CONF_DEFAULT_INDEX)
|
|
#define PR_NM_BACKUP PROP_TAG(PT_LONG, CONF_BACKUP_INDEX)
|
|
|
|
// CLSID_ConferenceManager (see confguid.h)
|
|
#define NM_TAG_MASK 0x0800
|
|
#define CONF_CATEGORY 0x8800
|
|
#define CONF_CTRYCODE 0x8801
|
|
#define PR_NM_CATEGORY PROP_TAG(PT_LONG, CONF_CATEGORY)
|
|
|
|
class CWABUTIL
|
|
{
|
|
private:
|
|
BOOL m_fTranslatedTags; // TRUE after GetNamedPropsTags succeeds
|
|
|
|
public:
|
|
CWABUTIL();
|
|
~CWABUTIL();
|
|
|
|
// It's just easier if everything is public
|
|
LPADRBOOK m_pAdrBook;
|
|
LPWABOBJECT m_pWabObject;
|
|
LPABCONT m_pContainer;
|
|
|
|
LPSPropTagArray m_pPropTags; // Translated tags
|
|
LPSPropTagArray GetTags() {return m_pPropTags;}
|
|
|
|
ULONG Get_PR_NM_ADDRESS();
|
|
ULONG Get_PR_NM_DEFAULT();
|
|
ULONG Get_PR_NM_CATEGORY();
|
|
|
|
LPCTSTR PszSkipCallTo(LPCTSTR psz);
|
|
BOOL FCreateCallToSz(LPCTSTR pszServer, LPCTSTR pszEmail, LPTSTR pszCallTo, UINT cchMax);
|
|
VOID FreeProws(LPSRowSet prows);
|
|
HRESULT GetContainer(void);
|
|
|
|
HRESULT EnsurePropTags(void);
|
|
HRESULT EnsurePropTags(LPMAPIPROP pMapiProp);
|
|
HRESULT GetNamedPropsTag(LPMAPIPROP pMapiProp, LPSPropTagArray pProps);
|
|
|
|
HRESULT HrGetWABTemplateID(ULONG * lpcbEID, LPENTRYID * lppEID);
|
|
HRESULT CreateNewEntry(HWND hwndParent, ULONG cProps, SPropValue * pProps);
|
|
HRESULT _CreateWabEntry(HWND hwndParent,
|
|
LPCTSTR pszDisplay, LPCTSTR pszFirst, LPCTSTR pszLast, LPCTSTR pcszEmail,
|
|
LPCTSTR pszLocation, LPCTSTR pszPhoneNum, LPCTSTR pcszComments, LPCTSTR pcszCallTo);
|
|
HRESULT CreateWabEntry(HWND hwndParent,
|
|
LPCTSTR pszDisplay, LPCTSTR pszFirst, LPCTSTR pszLast, LPCTSTR pcszEmail,
|
|
LPCTSTR pszLocation, LPCTSTR pszPhoneNum, LPCTSTR pcszComments, LPCTSTR pcszServer);
|
|
HRESULT CreateWabEntry(HWND hwndParent,
|
|
LPCTSTR pszDisplay, LPCTSTR pszEmail,
|
|
LPCTSTR pszLocation, LPCTSTR pszPhoneNum, LPCTSTR pszULSAddress);
|
|
};
|
|
|
|
|
|
// This is used for the ptaEid and m_pPropTags data
|
|
enum {
|
|
ieidPR_ENTRYID = 0, // Unique Entry ID
|
|
ieidPR_DISPLAY_NAME, // Display Name
|
|
ieidPR_NM_ADDRESS, // MVsz (array of "callto://server/email")
|
|
ieidPR_NM_DEFAULT, // Default Index into MVsz
|
|
ieidPR_NM_CATEGORY, // User Category/Rating (Personal=1, Business=2, Adult=4)
|
|
ieidMax
|
|
};
|
|
|
|
|
|
#endif /* _WABUTIL_H_ */
|
|
|