#ifndef _INC_DSKQUOTA_USERBAT_H #define _INC_DSKQUOTA_USERBAT_H /////////////////////////////////////////////////////////////////////////////// /* File: userbat.h Description: Provides declaration for class DiskQuotaUserBatch. This class is provided to allow batch updates of quota user information. Revision History: Date Description Programmer -------- --------------------------------------------------- ---------- 06/07/96 Initial creation. BrianAu 09/03/96 Added exception handling. BrianAu */ /////////////////////////////////////////////////////////////////////////////// #ifndef _INC_DSKQUOTA_H # include "dskquota.h" #endif #ifndef _INC_DSKQUOTA_FSOBJECT_H # include "fsobject.h" #endif #ifndef _INC_DSKQUOTA_EXCEPT_H # include "except.h" #endif class DiskQuotaUserBatch : public IDiskQuotaUserBatch { private: LONG m_cRef; // Ref counter. FSObject *m_pFSObject; // Ptr to file sys object. CArray m_UserList; // List of users to batch process. HRESULT RemoveUser( PDISKQUOTA_USER pUser); STDMETHODIMP RemoveAllUsers(VOID); VOID Destroy( VOID); // // Prevent copying. // DiskQuotaUserBatch(const DiskQuotaUserBatch& ); DiskQuotaUserBatch& operator = (const DiskQuotaUserBatch& ); public: // // APPCOMPAT: Find out why compiler doesn't like this exception decl. // // DiskQuotaUserBatch(FSObject *pFSObject) throw(OutOfMemory, SyncObjErrorCreate); DiskQuotaUserBatch(FSObject *pFSObject); ~DiskQuotaUserBatch(VOID); // // IUnknown interface. // STDMETHODIMP QueryInterface( REFIID, LPVOID *); STDMETHODIMP_(ULONG) AddRef( VOID); STDMETHODIMP_(ULONG) Release( VOID); // // IDiskQuotaUserBatch interface. // STDMETHODIMP Add( PDISKQUOTA_USER); STDMETHODIMP Remove( PDISKQUOTA_USER); STDMETHODIMP RemoveAll( VOID); STDMETHODIMP FlushToDisk( VOID); }; #endif // _INC_DSKQUOTA_USERBAT_H