/********************************************************************** * FontFldr.h - Definition for the CFontFolder, our implementation for * the IShellFolder in our browser. * **********************************************************************/ #if !defined(__FONTFLDR_H__) #define __FONTFLDR_H__ // Forward declarations -------------------------------------------------- // #if defined(__FCN__) #include "fsnotify.h" // for NOTIFYWATCH #endif #if !defined(__VIEWVECT_H__) #include "viewvect.h" #endif class CFontList; class CFontView; // ******************************************************************** class CFontFolder : public IShellFolder, public IPersistFolder { public: CFontFolder(); ~CFontFolder(); int Init(); // Utility functions. // CFontList * poFontList ( ); BOOL bRefresh( ); BOOL bRefView( CFontView * poView ); BOOL bReleaseView( CFontView * poView ); #if defined(__FCN__) VOID vReconcileFolder( ); // Launch a thread to call vDoReconcileFolder VOID vDoReconcileFolder( ); #endif // *** IUnknown methods *** STDMETHODIMP QueryInterface( REFIID riid, LPVOID FAR* ppvObj ); STDMETHODIMP_(ULONG) AddRef( void ); STDMETHODIMP_(ULONG) Release( void ); // *** IShellFolder methods *** STDMETHODIMP ParseDisplayName ( HWND hwndOwner, LPBC pbc, LPOLESTR lpszDisplayName, ULONG * pchEaten, LPITEMIDLIST * ppidl, ULONG *pdwAttributes) ; STDMETHODIMP EnumObjects( HWND hwndOwner, DWORD grfFlags, LPENUMIDLIST * ppenumIDList) ; STDMETHODIMP BindToObject( LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvOut) ; STDMETHODIMP BindToStorage( LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvObj) ; STDMETHODIMP CompareIDs( LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) ; STDMETHODIMP CreateViewObject( HWND hwndOwner, REFIID riid, LPVOID * ppvOut) ; STDMETHODIMP GetAttributesOf( UINT cidl, LPCITEMIDLIST * apidl, ULONG * rgfInOut) ; STDMETHODIMP GetUIObjectOf( HWND hwndOwner, UINT cidl, LPCITEMIDLIST * apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut) ; STDMETHODIMP GetDisplayNameOf( LPCITEMIDLIST pidl, DWORD uFlags, LPSTRRET lpName) ; STDMETHODIMP SetNameOf( HWND hwndOwner, LPCITEMIDLIST pidl, LPCOLESTR lpszName, DWORD uFlags, LPITEMIDLIST * ppidlOut) ; // *** IPersist methods *** STDMETHODIMP GetClassID( LPCLSID lpClassID ); // *** IPersistFolder methods *** STDMETHODIMP Initialize( LPCITEMIDLIST pidl ); private: static int sm_id; int m_id; int m_cRef; #if defined(__FCN__) NOTIFYWATCH m_Notify; HANDLE m_hNotifyThread; #endif CViewVector * m_poViewList; }; #endif // __FONTFLDR_H__