//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1998 - 1999 // // File: snapdata.h // //-------------------------------------------------------------------------- #ifndef _SNAPDATA_H #define _SNAPDATA_H #include "adsiedit.h" #include "common.h" enum { //Root node verbs IDM_CONNECT_TO, IDM_SETTINGS_CONNECTION, IDM_REMOVE_CONNECTION, IDM_UPDATE_SCHEMA, IDM_FILTER, //Container node verbs IDM_RENAME, IDM_MOVE, IDM_NEW_OBJECT, IDM_NEW_QUERY, IDM_NEW_CONNECT_FROM_HERE, IDM_NEW_NC_CONNECT_FROM_HERE, //Query node verbs IDM_REMOVE_QUERY, IDM_SETTINGS_QUERY }; DECLARE_MENU(CADSIEditRootMenuHolder) DECLARE_MENU(CADSIEditConnectMenuHolder) DECLARE_MENU(CADSIEditContainerMenuHolder) DECLARE_MENU(CADSIEditLeafMenuHolder) DECLARE_MENU(CADSIEditQueryMenuHolder) // # of items per folder: must be >=0 and <= 0xFFFFFFFF (DWORD) to serialize #define ADSIEDIT_QUERY_OBJ_COUNT_DEFAULT 10000 // default value #define ADSIEDIT_QUERY_OBJ_COUNT_MIN 10 // min value #define ADSIEDIT_QUERY_OBJ_COUNT_MAX 0xFFFFFFFF // max value #define ADSIEDIT_QUERY_OBJ_TEXT_COUNT_MAX 9 // max # of bytes in text /////////////////////////////////////////////////////////////////// // CADSIEditRootData class CADSIEditRootData : public CRootData { public: CADSIEditRootData(CComponentDataObject* pComponentData); virtual ~CADSIEditRootData(); // node info DECLARE_NODE_GUID() virtual HRESULT OnCommand(long nCommandID, DATA_OBJECT_TYPES type, CComponentDataObject* pComponentData, CNodeList* pNodeList); virtual void OnDelete(CComponentDataObject* pComponentData, CNodeList* pNodeList) { ASSERT(FALSE);} virtual BOOL OnRefresh(CComponentDataObject* pComponentData, CNodeList* pNodeList); virtual BOOL OnSetRefreshVerbState(DATA_OBJECT_TYPES type, BOOL* pbHide, CNodeList* pNodeList); virtual HRESULT GetResultViewType(LPOLESTR* ppViewType, long* pViewOptions); virtual HRESULT OnShow(LPCONSOLE lpConsole); virtual int GetImageIndex(BOOL bOpenImage) { return ROOT_IMAGE;} void OnConnectTo(CComponentDataObject* pComponentData); // IStream manipulation helpers overrides virtual HRESULT IsDirty(); virtual HRESULT Load(IStream* pStm); virtual HRESULT Save(IStream* pStm, BOOL fClearDirty); // Accessors for the Connect to... MRUs void GetDNMRU(CStringList* psDNList) { CopyStringList(psDNList, &m_sDNMRU); } void SetDNMRU(CStringList* psDNList) { CopyStringList(&m_sDNMRU, psDNList); } void GetServerMRU(CStringList* psServerList) { CopyStringList(psServerList, &m_sServerMRU); } void SetServerMRU(CStringList* psServerList) { CopyStringList(&m_sServerMRU, psServerList); } HRESULT LoadMRUs(IStream* pStm); HRESULT SaveMRUs(IStream* pStm); BOOL FindNode(LPCWSTR lpszPath, CList& foundNodeList); CColumnSet* GetColumnSet() { return ((CADSIEditComponentDataObject*)GetComponentDataObject())->GetColumnSet(); } LPCWSTR GetColumnID() { return ((CADSIEditComponentDataObject*)GetComponentDataObject())->GetColumnSet()->GetColumnID(); } virtual LPWSTR GetDescriptionBarText() { LPWSTR lpszFormat = L"%d Connection(s)"; int iCount = m_containerChildList.GetCount() + m_leafChildList.GetCount(); m_szDescriptionText.Format(lpszFormat, iCount); return (LPWSTR)(LPCWSTR)m_szDescriptionText; } protected: virtual BOOL CanCloseSheets(); virtual BOOL OnAddMenuItem(LPCONTEXTMENUITEM2 pContextMenuItem, long *pInsertionAllowed); virtual LPCONTEXTMENUITEM2 OnGetContextMenuItemTable() { return CADSIEditRootMenuHolder::GetContextMenuItem(); } private: CStringList m_sDNMRU; CStringList m_sServerMRU; CString m_szDescriptionText; }; #endif // _SNAPDATA_H