|
|
/**********************************************************************
* 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__
|