/***************************************************************************** * * $Workfile: InptChkr.h $ * * Copyright (C) 1997 Hewlett-Packard Company. * Copyright (c) 1997 Microsoft Corporation. * All rights reserved. * * 11311 Chinden Blvd. * Boise, Idaho 83714 * * *****************************************************************************/ #ifndef INC_INPUTCHECKER_H #define INC_INPUTCHECKER_H typedef enum _tagAddressType { Undefined, IPAddress, HostName } AddressType; class CInputChecker { public: CInputChecker(); ~CInputChecker(); public: void LinkPortNameAndAddressInput() { m_bLinked = TRUE; } void UnlinkPortNameAndAddressInput() { m_bLinked = FALSE; } BOOL AddressIsLegal(TCHAR *ptcsAddress); BOOL PortNameIsLegal(TCHAR *ptcsPortName); BOOL PortNameIsUnique(TCHAR *ptcsPortName, LPTSTR psztServerName); BOOL PortNumberIsLegal(TCHAR *ptcsPortNumber); BOOL QueueNameIsLegal(TCHAR *ptcsQueueName); BOOL CommunityNameIsLegal(TCHAR *ptcsCommunityName); BOOL SNMPDevIndexIsLegal(TCHAR *psztSNMPDevIndex); void OnUpdatePortName(int idEditCtrl, HWND hwndEditCtrl); void OnUpdateAddress(HWND hDlg, int idEditCtrl, HWND hwndEditCtrl, LPTSTR psztServerName); void OnUpdatePortNumber(int idEditCtrl, HWND hwndEditCtrl); void OnUpdateDeviceIndex(int idEditCtrl, HWND hwndEditCtrl); void OnUpdateQueueName(int idEditCtrl, HWND hwndEditCtrl); void MakePortName(TCHAR *strAddr, size_t cchAddr); protected: BOOL IsValidAddressInput(TCHAR *ptcsAddressInput, TCHAR *ptcsReturnLastValid, DWORD CRtnValSize); BOOL IsValidPortNameInput(TCHAR *ptcsPortNameInput, TCHAR *ptcsReturnLastValid, DWORD CRtnValSize); BOOL IsValidPortNumberInput(TCHAR *ptcsPortNumInput, TCHAR *ptcsReturnLastValid = NULL , DWORD cRtnVal = 0); BOOL IsValidDeviceIndexInput(TCHAR *ptcsDeviceIndexInput, TCHAR *ptcsReturnLastValid = NULL, DWORD CRtnValSize = 0); BOOL IsValidQueueNameInput(TCHAR *ptcsQueueNameInput, TCHAR *ptcsReturnLastValid = NULL, DWORD CRtnValSize = 0); BOOL IsValidCommunityNameInput(TCHAR *ptcsCommunityNameInput, TCHAR *ptcsReturnLastValid = NULL, DWORD CRtnValSize = 0); BOOL PortExists(LPTSTR psztPortName, LPTSTR psztServerName); AddressType GetAddressType(TCHAR *ptcsAddress); private: BOOL m_bLinked; // Is the port name linked to the Address input? TCHAR m_InputStorageStringAddress[MAX_ADDRESS_LENGTH]; TCHAR m_InputStorageStringPortNumber[MAX_PORTNUM_STRING_LENGTH]; TCHAR m_InputStorageStringDeviceIndex[MAX_SNMP_DEVICENUM_STRING_LENGTH]; TCHAR m_InputStorageStringQueueName[MAX_QUEUENAME_LEN]; }; // CGetAddrDlg #endif // INC_INPUTCHECKER_H