|
|
/*++
� 1998 Seagate Software, Inc. All rights reserved.
Module Name:
RsAdUtil.h
Abstract:
Utility functions for GUI - for us in HSMADMIN files only
Author:
Art Bragg [abragg] 04-Mar-1997
Revision History:
--*/
// Defined constants for media copy states
#define RS_MEDIA_COPY_STATUS_NONE ((USHORT)5000)
#define RS_MEDIA_COPY_STATUS_ERROR ((USHORT)5001)
#define RS_MEDIA_COPY_STATUS_OUTSYNC ((USHORT)5002)
#define RS_MEDIA_COPY_STATUS_INSYNC ((USHORT)5003)
#define RS_MEDIA_COPY_STATUS_MISSING ((USHORT)5004)
// Defined constants for master media states
#define RS_MEDIA_STATUS_RECREATE ((USHORT)5101)
#define RS_MEDIA_STATUS_READONLY ((USHORT)5102)
#define RS_MEDIA_STATUS_NORMAL ((USHORT)5103)
#define RS_MEDIA_STATUS_ERROR_RO ((USHORT)5104)
#define RS_MEDIA_STATUS_ERROR_RW ((USHORT)5105)
#define RS_MEDIA_STATUS_ERROR_MISSING ((USHORT)5106)
#define RS_MEDIA_STATUS_ERROR_INCOMPLETE ((USHORT)5107)
void RsReportError( HRESULT hrToReport, int textId, ... );
HRESULT RsGetStatusString ( DWORD serviceStatus, HRESULT hrSetup, CString& sStatus );
WCHAR * RsNotifyEventAsString ( IN MMC_NOTIFY_TYPE event );
WCHAR * RsClipFormatAsString ( IN CLIPFORMAT cf );
HRESULT RsIsRemoteStorageSetup( void );
HRESULT RsIsRemoteStorageSetupEx( IHsmServer * pHsmServer );
HRESULT RsIsSupportedMediaAvailable( void );
HRESULT RsIsRmsErrorNotReady( HRESULT HrError );
USHORT RsGetCopyStatus( IN REFGUID CopyId, IN HRESULT CopyHr, IN SHORT CopyNextDataSet, IN SHORT LastGoodNextDataSet );
HRESULT RsGetCopyStatusStringVerb( IN USHORT copyStatus, OUT CString& String );
HRESULT RsGetCopyStatusString( IN USHORT copyStatus, OUT CString& String );
USHORT RsGetCartStatus( IN HRESULT LastHr, IN BOOL ReadOnly, IN BOOL Recreate, IN SHORT NextDataSet, IN SHORT LastGoodNextDataSet );
HRESULT RsGetCartStatusString( IN USHORT cartStatus, OUT CString& String );
HRESULT RsGetCartStatusStringVerb( IN USHORT cartStatus, IN BOOL plural, OUT CString& String );
HRESULT RsGetCartMultiStatusString( IN USHORT statusRecreate, IN USHORT statusReadOnly, IN USHORT statusNormal, IN USHORT statusRO, IN USHORT statusRW, IN USHORT statusMissing, OUT CString &outString );
HRESULT RsGetCopyMultiStatusString( IN USHORT statusNone, IN USHORT statusError, IN USHORT statusOutSync, IN USHORT statusInSync, OUT CString &outString );
HRESULT RsCreateAndRunFsaJob( IN HSM_JOB_DEF_TYPE jobType, IN IHsmServer *pHsmServer, IN IFsaResource *pFsaResource, IN BOOL ShowMsg = TRUE );
HRESULT RsCreateAndRunDirectFsaJob( IN HSM_JOB_DEF_TYPE jobType, IN IHsmServer *pHsmServer, IN IFsaResource *pFsaResource, IN BOOL waitJob );
HRESULT RsCancelDirectFsaJob( IN HSM_JOB_DEF_TYPE jobType, IN IHsmServer *pHsmServer, IN IFsaResource *pFsaResource );
HRESULT RsCreateJobName( IN HSM_JOB_DEF_TYPE jobType, IN IFsaResource * pResource, OUT CString& szJobName );
HRESULT RsGetJobTypeString( IN HSM_JOB_DEF_TYPE jobType, OUT CString& szJobType );
HRESULT RsCreateAndRunMediaCopyJob( IN IHsmServer * pHsmServer, IN UINT SetNum, IN BOOL ShowMsg );
HRESULT RsCreateAndRunMediaRecreateJob( IN IHsmServer * pHsmServer, IN IMediaInfo * pMediaInfo, IN REFGUID MediaId, IN CString & MediaDescription, IN SHORT CopyToUse );
HRESULT RsGetStoragePoolId( IN IHsmServer *pHsmServer, OUT GUID * pStoragePoolId );
HRESULT RsGetStoragePool( IN IHsmServer * pHsmServer, OUT IHsmStoragePool ** ppStoragePool );
HRESULT RsGetInitialLVColumnProps( int IdWidths, int IdTitles, CString **pColumnWidths, CString **pColumnTitles, int *pColumnCount );
HRESULT RsServerSaveAll( IUnknown * pUnkServer );
HRESULT RsGetVolumeDisplayName( IFsaResource * pResource, CString & DisplayName );
HRESULT RsGetVolumeDisplayName2( IFsaResource * pResource, CString & DisplayName );
HRESULT RsGetVolumeSortKey( IFsaResource * pResource, CString & DisplayName );
HRESULT RsIsVolumeAvailable( IFsaResource * pResource );
HRESULT RsIsWhiteOnBlack( );
class CCopySetInfo {
public: SHORT m_NextDataSet; FILETIME m_ModifyTime; HRESULT m_Hr; GUID m_RmsId; BOOL m_Disabled; };
class CResourceInfo { public: CResourceInfo( IFsaResource* pResource ) { m_pResource = pResource; m_HrConstruct = RsGetVolumeDisplayName( m_pResource, m_DisplayName ); if( SUCCEEDED( m_HrConstruct ) ) { m_HrConstruct = RsGetVolumeSortKey( m_pResource, m_SortKey ); } }; static INT CALLBACK Compare( LPARAM lParam1, LPARAM lParam2, LPARAM /* lParamSort */ ) { CResourceInfo* pResInfo1 = (CResourceInfo*)lParam1; CResourceInfo* pResInfo2 = (CResourceInfo*)lParam2; if( ! pResInfo1 ) return( -1 ); if( ! pResInfo2 ) return( 1 ); return( pResInfo1->m_SortKey.CompareNoCase( pResInfo2->m_SortKey ) ); }
CString m_DisplayName; CString m_SortKey; CComPtr<IFsaResource> m_pResource; HRESULT m_HrConstruct; };
|