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.
72 lines
2.5 KiB
72 lines
2.5 KiB
/*
|
|
* s e s s i o n. c p p
|
|
*
|
|
* Purpose:
|
|
* Implements the OE-MOM 'Session' object
|
|
*
|
|
* History
|
|
*
|
|
* Copyright (C) Microsoft Corp. 1995, 1996.
|
|
*/
|
|
|
|
#ifndef _SESSION_H
|
|
#define _SESSION_H
|
|
|
|
#include "privunk.h"
|
|
#include "basedisp.h"
|
|
|
|
interface IOESession;
|
|
interface IOEFolder;
|
|
interface IOEMessage;
|
|
interface IOEFolderCollection;
|
|
|
|
HRESULT CreateInstance_OESession(IUnknown *pUnkOuter, IUnknown **ppUnknown);
|
|
|
|
class COESession:
|
|
public IOESession,
|
|
public CBaseDisp
|
|
{
|
|
public:
|
|
|
|
// *** IUnknown ***
|
|
virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj)
|
|
{ return CBaseDisp::QueryInterface(riid, ppvObj); };
|
|
virtual STDMETHODIMP_(ULONG) AddRef(void)
|
|
{ return CBaseDisp::AddRef();};
|
|
virtual STDMETHODIMP_(ULONG) Release(void)
|
|
{ return CBaseDisp::Release(); };
|
|
|
|
// *** IDispatch ***
|
|
virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo)
|
|
{ return CBaseDisp::GetTypeInfoCount(pctinfo); };
|
|
virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT itinfo, LCID lcid, ITypeInfo **pptinfo)
|
|
{ return CBaseDisp::GetTypeInfo(itinfo, lcid, pptinfo); };
|
|
virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid)
|
|
{ return CBaseDisp::GetIDsOfNames(riid, rgszNames, cNames, lcid, rgdispid); };
|
|
virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pdispparams, VARIANT *pvarResult, EXCEPINFO *pexcepinfo, UINT *puArgErr)
|
|
{ return CBaseDisp::Invoke(dispidMember, riid, lcid, wFlags, pdispparams, pvarResult, pexcepinfo, puArgErr); };
|
|
|
|
// *** IOESession ***
|
|
virtual HRESULT STDMETHODCALLTYPE get_folders(IOEFolderCollection **p);
|
|
virtual HRESULT STDMETHODCALLTYPE get_version(BSTR *pbstr);
|
|
virtual HRESULT STDMETHODCALLTYPE get_inbox(IOEFolder **ppFolder);
|
|
virtual HRESULT STDMETHODCALLTYPE openFolder(LONG idFolder, IOEFolder **ppFolder);
|
|
virtual HRESULT STDMETHODCALLTYPE openMessage(LONG idFolder, LONG idMessage, IOEMessage **ppOEMsg);
|
|
virtual HRESULT STDMETHODCALLTYPE createMessage(IOEMessage **ppNewMsg);
|
|
|
|
// *** Override CBaseDisp ***
|
|
virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo(REFIID riid);
|
|
|
|
COESession(IUnknown *pUnkOuter=NULL);
|
|
virtual ~COESession();
|
|
|
|
HRESULT Init();
|
|
|
|
private:
|
|
virtual HRESULT PrivateQueryInterface(REFIID riid, LPVOID * ppvObj);
|
|
|
|
IOESession *m_pFolders;
|
|
};
|
|
|
|
|
|
#endif //_SESSION_H
|