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.
109 lines
4.3 KiB
109 lines
4.3 KiB
#pragma once
|
|
|
|
#include "globals.h"
|
|
#include "delebase.h"
|
|
#include <map>
|
|
using namespace std;
|
|
|
|
enum ConnectMode
|
|
{
|
|
CM_Reader = 0,
|
|
CM_Writer,
|
|
CM_Both
|
|
};
|
|
|
|
struct WebServerData
|
|
{
|
|
CDelegationBase *pBase;
|
|
tstring szName;
|
|
ConnectMode connectMode;
|
|
};
|
|
|
|
typedef map<tstring, tstring> CPropertyMap;
|
|
|
|
class CUDDISiteNode;
|
|
|
|
class CUDDIWebServerNode : public CDelegationBase
|
|
{
|
|
friend class CUDDISiteNode;
|
|
|
|
public:
|
|
CUDDIWebServerNode( const _TCHAR *szName, int id, CUDDISiteNode* parent, BOOL bExtension );
|
|
virtual ~CUDDIWebServerNode();
|
|
|
|
static BOOL IsWebServer( const WCHAR *pwszName );
|
|
static BOOL IsAssignedToSite( const tstring& szWebServer, const ConnectMode& cm, tstring& szSite );
|
|
|
|
static BOOL GetReaderConnectionString( const tstring& szName, tstring &szReader );
|
|
static BOOL GetWriterConnectionString( const tstring& szName, tstring &szWriter );
|
|
static BOOL SetReaderConnectionString( const tstring& szName, const tstring& szReader );
|
|
static BOOL SetWriterConnectionString( const tstring& szName, const tstring& szWriter );
|
|
static void CrackConnectionString( const tstring& strConnection, tstring& strDomain, tstring& strServer, tstring& strInstance );
|
|
static tstring BuildConnectionString( const wstring& strComputer );
|
|
static BOOL GetDBSchemaVersion( const wstring& strComputer, wstring& strVersion );
|
|
static BOOL CALLBACK NewWebServerDialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
|
|
|
HRESULT GetData();
|
|
HRESULT SaveData();
|
|
BOOL Start();
|
|
BOOL Stop();
|
|
BOOL SetRunState( BOOL bStart );
|
|
const BOOL IsRunning();
|
|
const LPCTSTR GetName();
|
|
BOOL GetDBSchemaVersion( tstring& szVersion );
|
|
|
|
virtual const _TCHAR *GetDisplayName(int nCol = 0);
|
|
virtual const GUID & getNodeType() { return thisGuid; }
|
|
virtual const int GetBitmapIndex() { return INDEX_WEBSERVER; }
|
|
virtual BOOL HasChildren() { return FALSE; }
|
|
virtual BOOL ChildExists( const WCHAR *pwszName );
|
|
BOOL IsDeleted() { return m_isDeleted; }
|
|
void DeleteFromScopePane( IConsoleNameSpace *pConsoleNameSpace );
|
|
|
|
//
|
|
// Virtual functions go here (for MMCN_*)
|
|
//
|
|
virtual HRESULT OnAddMenuItems( IContextMenuCallback *pContextMenuCallback, long *pInsertionsAllowed );
|
|
virtual HRESULT OnMenuCommand( IConsole *pConsole, IConsoleNameSpace *pConsoleNameSpace, long lCommandID, IDataObject *pDataObject );
|
|
virtual HRESULT OnSelect(CComponent *pComponent, IConsole *pConsole, BOOL bScope, BOOL bSelect);
|
|
virtual HRESULT OnPropertyChange(IConsole *pConsole, CComponent *pComponent);
|
|
virtual HRESULT OnUpdateItem(IConsole *pConsole, long item, ITEM_TYPE itemtype);
|
|
virtual HRESULT OnRefresh(IConsole *pConsole);
|
|
virtual HRESULT OnDelete( IConsoleNameSpace *pConsoleNameSpace, IConsole *pConsoleComp);
|
|
virtual HRESULT OnSetToolbar( IControlbar *pControlbar, IToolbar *pToolbar, BOOL bScope, BOOL bSelect );
|
|
virtual HRESULT OnToolbarCommand( IConsole *pConsole, MMC_CONSOLE_VERB verb, IDataObject *pDataObject );
|
|
virtual HRESULT OnShowContextHelp(IDisplayHelp *pDisplayHelp, LPOLESTR helpFile);
|
|
virtual HRESULT CreatePropertyPages(IPropertySheetCallback *lpProvider, LONG_PTR handle);
|
|
virtual HRESULT HasPropertySheets();
|
|
virtual HRESULT GetWatermarks(HBITMAP *lphWatermark, HBITMAP *lphHeader, HPALETTE *lphPalette, BOOL *bStretch );
|
|
|
|
private:
|
|
static const GUID thisGuid;
|
|
enum WEBSERVER_STATUS { RUNNING, STOPPED } m_nStatus;
|
|
enum menuItems { IDM_WEBSERVER_START = 1, IDM_WEBSERVER_STOP = 2 };
|
|
BOOL m_bStdSvr;
|
|
|
|
_TCHAR* m_szName;
|
|
int m_nId;
|
|
LONG_PTR m_ppHandle;
|
|
CUDDISiteNode *m_pParent;
|
|
BOOL m_isDeleted;
|
|
CPropertyMap m_mapProperties;
|
|
CPropertyMap m_mapChanges;
|
|
IToolbar *m_pToolbar;
|
|
BOOL m_isScopeItem;
|
|
BOOL m_fDeleteFromScopePane;
|
|
tstring m_strDisplayName;
|
|
HWND m_hwndPropSheet;
|
|
|
|
static BOOL CALLBACK GeneralDialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
|
static BOOL CALLBACK DatabaseConnectionDialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
|
static BOOL CALLBACK LoggingDialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
|
|
|
HRESULT UpdateScopePaneItem( IConsole *pConsole, HSCOPEITEM item );
|
|
HRESULT UpdateResultPaneItem( IConsole *pConsole, HRESULTITEM item );
|
|
|
|
BOOL IsW3SvcRunning();
|
|
|
|
};
|
|
|