/*/////////////////////////////////////////////////////////////////////////////*/ /**/ /* Public header file Data used by WAW*/ /**/ /*/////////////////////////////////////////////////////////////////////////////*/ /* To avoid unnecessary includes : */ #ifndef __WAW_DATA_HPP #define __WAW_DATA_HPP #include /**************************************/ #if !defined(CPA_EXPORT) #if defined(CPA_WANTS_IMPORT) #define CPA_EXPORT __declspec(dllimport) #elif defined(CPA_WANTS_EXPORT) #define CPA_EXPORT __declspec(dllexport) #else #define CPA_EXPORT #endif /*CPA_WANTS_IMPORT || CPA_WANTS_EXPORT*/ #endif /*CPA_EXPORT*/ /**************************************/ /*#ifdef __cplusplus*/ /*extern "C" {*/ /*#endif /* __cplusplus **/ /* For Global declaration in C files : */ #ifdef WAW_GLOBALS #define __WAW_EXTERN extern #else /* !WAW_GLOBALS */ #define __WAW_EXTERN #endif /* !AID_GLOBALS */ /* ----------------------------------------------------------------------------- INCLUDES FILES : Include here any other header files of your module you need ! Ex : #include "toto.h" Note : Do Not include header files from other Modules (do this in C files only) ----------------------------------------------------------------------------- */ class WAW_DataList; /* ----------------------------------------------------------------------------- CONSTANT DECLARATION: Ex : #define WAW_C_LMAX 100 ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- TYPES DEFINITION : Declare here any type you need, and constant you need to do this : Ex : typedef struct WAW_tdstToto_ { long aLMAX_lBuffer[WAW_C_LMAX]; ... } WAW_tdst_Toto ; ----------------------------------------------------------------------------- */ typedef enum WAW_tdeMessage_ { WAW_eDeletedData, WAW_eDeletedNode, WAW_eUpdateData, WAW_eHideWindow, WAW_eShowWindow, WAW_eNbOfMessage } WAW_tdeMessage; typedef void(*WAW_CallBack)( WAW_tdeMessage, void*); typedef struct WAW_tdstUserInfo_ { CString m_csUserModuleName; WAW_CallBack m_pfnCallBack; } WAW_tdstUserInfo; typedef WAW_tdstUserInfo * WAW_hUserInfo; class CPA_EXPORT WAW_Data { protected: WAW_Data( CString, CString, WAW_tdstUserInfo* ,void* _pvData = NULL ); ~WAW_Data(); /* members :*/ public: protected: private: CString m_pri_csDataName; CString m_pri_csDataValue; void* m_pri_pvUserData; WAW_tdstUserInfo * m_pri_pstUserInfo; HTREEITEM m_pri_hTreeItem; BOOL m_pri_bIsData; BOOL m_pri_bVisible; /* functions :*/ public: WAW_Data* m_pub_fn_pclGetParentData(); CString m_pub_fn_csGetDataName() {return m_pri_csDataName;} void * m_pub_fn_pvGetUserData() {return m_pri_pvUserData;} void m_pub_fn_vSetUserData( void * _pvData ) { m_pri_pvUserData = _pvData; } protected: private: /* friends of the class*/ friend extern CPA_EXPORT WAW_Data * WAW_fn_pclAddData( WAW_hUserInfo, WAW_Data* , CString, CString, void* ); friend extern CPA_EXPORT WAW_Data * WAW_fn_pclAddNode( WAW_hUserInfo,WAW_Data* , CString, void* ); friend extern CPA_EXPORT BOOL WAW_fn_bUpdateData( WAW_Data*, CString ); friend extern CPA_EXPORT BOOL WAW_fn_bDeleteData( WAW_Data* ); friend extern CPA_EXPORT BOOL WAW_fn_bSetDataIcon( WAW_Data*, HICON, HICON ); friend extern BOOL WAW_fn_bCheckForEmptyNode( HTREEITEM ); friend class WAW_MainDialog; friend class WAW_DataList; /* friend class WAW_DataList;*/ }; /* ----------------------------------------------------------------------------- GLOBAL VARIABLE DECLARATION : Ex : __AID_EXTERN #ifdef AID_GLOBALS = #endif ; ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- PUBLIC FUNCTIONS DECLARATION: Ex : extern CPA_EXPORT void WAW_fn_vMyPublicFunction(void); Note : Public functions declaration must be done in PUBLIC HEADER files (.h) in your Inc directory ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- PRIVATE FUNCTIONS DECLARATION: Ex : extern void WAW_fn_vMyPrivateFunction(void); Note : Private functions MUST appear ONLY in PRIVATE HEADER files (.h) in your Src directory with source files (.c) ----------------------------------------------------------------------------- */ /*#ifdef __cplusplus*/ /*};*/ /*#endif /* __cplusplus */ #endif /* __WAW_USER_HPP */