You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
4.6 KiB
84 lines
4.6 KiB
// --------------------------------------------------------------------------------
|
|
// Factory.h
|
|
// Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
|
|
// Steven J. Bailey
|
|
// --------------------------------------------------------------------------------
|
|
#ifndef __FACTORY_H
|
|
#define __FACTORY_H
|
|
|
|
// --------------------------------------------------------------------------------
|
|
// Forward Decls
|
|
// --------------------------------------------------------------------------------
|
|
class CClassFactory;
|
|
|
|
// --------------------------------------------------------------------------------
|
|
// Object Flags
|
|
// --------------------------------------------------------------------------------
|
|
#define OIF_ALLOWAGGREGATION 0x0001
|
|
|
|
// --------------------------------------------------------------------------------
|
|
// Object Creation Prototypes
|
|
// --------------------------------------------------------------------------------
|
|
typedef HRESULT (APIENTRY *PFCREATEINSTANCE)(IUnknown *pUnkOuter, IUnknown **ppUnknown);
|
|
#define CreateObjectInstance (*m_pfCreateInstance)
|
|
|
|
// --------------------------------------------------------------------------------
|
|
// InetComm ClassFactory
|
|
// --------------------------------------------------------------------------------
|
|
class CClassFactory : public IClassFactory
|
|
{
|
|
public:
|
|
// ----------------------------------------------------------------------------
|
|
// Public Data
|
|
// ----------------------------------------------------------------------------
|
|
CLSID const *m_pclsid;
|
|
DWORD m_dwFlags;
|
|
PFCREATEINSTANCE m_pfCreateInstance;
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Construction
|
|
// ----------------------------------------------------------------------------
|
|
CClassFactory(CLSID const *pclsid, DWORD dwFlags, PFCREATEINSTANCE pfCreateInstance);
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// IUnknown members
|
|
// ----------------------------------------------------------------------------
|
|
STDMETHODIMP QueryInterface(REFIID, LPVOID *);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// IClassFactory members
|
|
// ----------------------------------------------------------------------------
|
|
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
|
|
STDMETHODIMP LockServer(BOOL);
|
|
};
|
|
|
|
// --------------------------------------------------------------------------------
|
|
// Object Creators
|
|
// --------------------------------------------------------------------------------
|
|
HRESULT IVirtualStream_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT WebBookContentBody_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT WebBookContentTree_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IMimeAllocator_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IMimeSecurity_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IMimeInternational_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT ISMTPTransport_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IPOP3Transport_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT INNTPTransport_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IRASTransport_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IIMAPTransport_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IHTTPMailTransport_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IPropFindRequest_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IPropPatchRequest_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IRangeList_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IMimeMessageParts_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IMimeHeaderTable_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IMimePropertySchema_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IMimeBindHost_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IInternetMessageUrl_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IMimeHtmlProtocol_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT MimeEdit_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
HRESULT IHashTable_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppUnknown);
|
|
|
|
#endif // __FACTORY_H
|