487 lines
7.0 KiB
C++
Raw Normal View History

2001-01-01 00:00:00 +01:00
/*++
Copyright (c) 1995 Microsoft Corporation
All rights reserved.
Module Name:
srvprop.hxx
Abstract:
Server properties header.
Author:
Steve Kiraly (steveKi) 11-Nov-1995
Revision History:
--*/
#ifndef _SVRPROP_HXX
#define _SVRPROP_HXX
/********************************************************************
Server property data.
********************************************************************/
class TServerData : public MSingletonWin {
SIGNATURE( 'svpr' )
SAFE_NEW
public:
VAR( INT, iStartPage );
VAR( INT, iCmdShow );
VAR( BOOL, bAdministrator );
VAR( TString, strTitle );
VAR( HANDLE, hPrintServer );
VAR( BOOL, bReboot );
VAR( LPCTSTR, pszServerName );
VAR( TString, strMachineName );
VAR( HICON, hDefaultSmallIcon );
TServerData(
IN LPCTSTR pszServerName,
IN INT iCmdShow,
IN LPARAM lParam
);
~TServerData(
VOID
);
BOOL
bValid(
VOID
);
BOOL
bLoad(
VOID
);
private:
//
// Copying and assignment are not defined.
//
TServerData(
const TServerData &
);
TServerData &
operator =(
const TServerData &
);
BOOL
bStore(
VOID
);
VOID
vCreateMachineName(
IN const TString &strServerName,
IN BOOL bLocal,
IN TString &strMachineName
);
BOOL _bIsDataStored;
BOOL _bValid;
};
/********************************************************************
ServerProp.
Base class for server property sheets. This class should not
not contain any information/services that is not generic to all
derived classes.
********************************************************************/
class TServerProp : public MGenericProp {
SIGNATURE( 'prsv' )
SAFE_NEW
protected:
TServerProp(
IN TServerData *pServerData
);
virtual
~TServerProp(
VOID
);
BOOL
bValid(
VOID
);
BOOL
bHandleMessage(
IN UINT uMsg,
IN WPARAM wParam,
IN LPARAM lParam
);
virtual
BOOL
bSetUI(
VOID
) = 0;
virtual
BOOL
bReadUI(
VOID
) = 0;
virtual
BOOL
bSaveUI(
VOID
) = 0;
TServerData *_pServerData;
private:
//
// Copying and assignment are not defined.
//
TServerProp(
const TServerProp &
);
TServerProp &
operator =(
const TServerProp &
);
};
/********************************************************************
General server settings page.
********************************************************************/
class TServerSettings : public TServerProp {
SIGNATURE( 'stsv' )
SAFE_NEW
public:
TServerSettings(
IN TServerData* pServerData
);
~TServerSettings(
);
BOOL
bValid(
VOID
);
BOOL
bHandleMessage(
IN UINT uMsg,
IN WPARAM wParam,
IN LPARAM lParam
);
BOOL
bSetUI(
VOID
);
BOOL
bSetUI(
INT LoadType
);
BOOL
bReadUI(
VOID
);
BOOL
bSaveUI(
VOID
);
private:
enum EStatus {
kStatusError,
kStatusSuccess,
kStatusInvalidSpoolDirectory,
};
enum CONSTANTS {
kServerAttributesLoad,
kServerAttributesStore,
kServerAttributesDefault,
};
TString _strSpoolDirectory;
BOOL _bBeepErrorJobs;
BOOL _bEventLogging;
BOOL _bNotifyPrintedJobs;
BOOL _bChanged;
private:
//
// Copying and assignment are not defined.
//
TServerSettings(
const TServerSettings &
);
TServerSettings &
operator =(
const TServerSettings &
);
INT
sServerAttributes(
BOOL bDirection
);
VOID
TServerSettings::
vEnable(
BOOL bState
);
};
/********************************************************************
Forms server property page.
********************************************************************/
class TServerForms : public TServerProp {
SIGNATURE( 'fmsv' )
SAFE_NEW
public:
TServerForms(
IN TServerData* pServerData
);
~TServerForms(
VOID
);
BOOL
bValid(
VOID
);
BOOL
bHandleMessage(
IN UINT uMsg,
IN WPARAM wParam,
IN LPARAM lParam
);
BOOL
bSetUI(
VOID
);
BOOL
bReadUI(
VOID
);
BOOL
bSaveUI(
VOID
);
private:
//
// Copying and assignment are not defined.
//
TServerForms(
const TServerForms &
);
TServerForms &
operator =(
const TServerForms &
);
PVOID _p;
};
/********************************************************************
Ports server property page.
********************************************************************/
class TServerPorts : public TServerProp {
SIGNATURE( 'posv' )
SAFE_NEW
public:
TServerPorts(
IN TServerData* pServerData
);
~TServerPorts(
VOID
);
BOOL
bValid(
VOID
);
BOOL
bSetUI(
VOID
);
BOOL
bReadUI(
VOID
);
BOOL
bSaveUI(
VOID
);
BOOL
bHandleMessage(
IN UINT uMsg,
IN WPARAM wParam,
IN LPARAM lParam
);
private:
//
// Copying and assignment are not defined.
//
TServerPorts(
const TServerPorts &
);
TServerPorts &
operator =(
const TServerPorts &
);
TPortsLV _PortsLV;
};
/********************************************************************
Server property windows.
********************************************************************/
class TServerWindows {
SIGNATURE( 'svrw' )
SAFE_NEW
public:
TServerWindows(
IN TServerData *pServerData
);
~TServerWindows(
VOID
);
BOOL
bValid(
VOID
);
BOOL
bBuildPages(
VOID
);
BOOL
bDisplayPages(
VOID
);
private:
//
// Copying and assignment are not defined.
//
TServerWindows(
const TServerWindows &
);
TServerWindows &
operator =(
const TServerWindows &
);
TServerData *_pServerData;
TServerForms _Forms;
TServerPorts _Ports;
TServerSettings _Settings;
};
/********************************************************************
Global scoped functions.
********************************************************************/
VOID
vServerPropPages(
IN HWND hwnd,
IN LPCTSTR pszServerName,
IN INT iCmdShow,
IN LPARAM lParam
);
INT
iServerPropPagesProc(
IN TServerData *pServerData
);
#endif