#ifndef _SHALIAS_H_ #define _SHALIAS_H_ // Editing modes #define ADD_ALIAS 0x01 #define EDIT_ALIAS 0x02 #define LocalRealloc(a, b) LocalReAlloc(a, b, LMEM_MOVEABLE) class CAlias; typedef struct tagALIASINFO { HWND hDlg; int mode; HDPA aliasList; HDPA aliasDelList; BOOL fInternalChange; BOOL fChanged; } ALIASINFO, * LPALIASINFO; #define ALIASLIST_COLUMNS 2 typedef struct tagALIASITEM { LPSTR aCols[ALIASLIST_COLUMNS]; } ALIASITEM; typedef struct tagALIASEDITINFO { HDPA aliasList; CAlias * alias; HWND hWnd; DWORD dwFlags; } ALIASEDITINFO, *LPALIASEDITINFO; #define ALIASINFO_FROM_HDLG( hDlg ) \ ((LPALIASINFO)GetWindowLong(hDlg, DWL_USER)) \ TCHAR * EatSpaces( TCHAR * str ); TCHAR * ChopSpaces( TCHAR * str ); TCHAR * DuplicateString( TCHAR * str ); // CAlias - object representing one alias. class CAlias { public: LPTSTR m_alias; LPTSTR m_szurl; BOOL m_fDirty; CAlias( LPTSTR name ); ~CAlias(); // Operations defined for Asscociation Load(); Save(); Delete(); #ifdef DEBUG Print(); #endif }; // Some Helper Function Prototypes BOOL FAR PASCAL InitAliasDialog(HWND hDlg, CAlias * current, BOOL fFullInit ); CAlias * GetCurrentAlias( HWND hDlg ); #define MAX_ALIAS_LENGTH 256 STDAPI_(BOOL) LoadAliases( HDPA aliasListIn ); STDAPI_(BOOL) SaveAliases( HDPA aliasListIn ); STDAPI_(BOOL) FreeAliases( HDPA aliasListIn ); STDAPI_(LPCTSTR) GetAliasName( CAlias * ptr ); STDAPI_(LPCTSTR) GetAliasUrl( CAlias * ptr ); STDAPI_(LPVOID) CreateAlias( LPTSTR str ); STDAPI_(VOID) DestroyAlias( CAlias * ptr ); STDAPI_(BOOL) SetAliasInfo( CAlias * ptr, TCHAR * alias, TCHAR * url ); #ifdef UNICODE // TODO : #define FindAliasIndex FindAliasIndexW #define FindAliasByURL FindAliasByURLW #define AddAliasToList AddAliasToListW #define GetURLForAlias GetURLForAliasW #else #define FindAliasIndex FindAliasIndexA #define FindAliasByURL FindAliasByURLA #define AddAliasToList AddAliasToListA #define GetURLForAlias GetURLForAliasA #endif STDAPI_(BOOL) GetURLForAliasW(HDPA aliasListIn, LPWSTR alias, LPWSTR szurl, int cchUrl ); STDAPI_(BOOL) AddAliasToListW(HDPA aliasListIn, LPWSTR alias, LPWSTR szurl, HWND hwnd); STDAPI_(BOOL) FindAliasByURLW(HDPA aliasListIn, LPWSTR szurl, LPWSTR alias, INT cchAlias); STDAPI_(INT) FindAliasIndexW(HDPA aliasListIn, LPWSTR alias); STDAPI_(BOOL) GetURLForAliasA(HDPA aliasListIn, LPSTR alias, LPSTR szurl, int cchUrl ); STDAPI_(BOOL) AddAliasToListA(HDPA aliasListIn, LPSTR alias, LPSTR szurl, HWND hwnd); STDAPI_(BOOL) FindAliasByURLA(HDPA aliasListIn, LPSTR szurl, LPSTR alias, INT cchAlias); STDAPI_(INT) FindAliasIndexA(HDPA aliasListIn, LPSTR alias); #endif