home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1998 May
/
Pcwk5b98.iso
/
Borland
/
Cplus45
/
BC45
/
BOCOLE.PAK
/
BOLECONT.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-08-29
|
3KB
|
89 lines
//
//**************************************************************************
//
// BOleCont.h -- Implements the server helper for documents by masquerading
// as the container object. Provides plumbing for server
// linking to documents and items
//
// Copyright (c) 1993,94 by Borland International, Inc. All rights reserved
//
//**************************************************************************
#ifndef _BOLECONT_H
#define _BOLECONT_H 1
#include "BOleComp.h"
class _ICLASS BOleFact;
class _ICLASS BOleContainer :
public BOleComponent,
public IPersistFile,
public IOleItemContainer,
#if 0
public IExternalConnection,
#endif
public IBRootLinkable
{
protected:
DWORD regId; // magic cookie for linkable document
LPMONIKER pMoniker; // file moniker
PIBContains pDoc; // back pointer
IBClass *pClassFact; // pointer to class object
public:
BOleContainer (BOleClassManager *, IBUnknownMain *);
~BOleContainer ();
// IUnknown Methods
//
DEFINE_IUNKNOWN(pObjOuter)
// IUnknownMain methods
//
virtual HRESULT _IFUNC QueryInterfaceMain(REFIID iid, LPVOID FAR* pif);
// IPersistFile methods
//
HRESULT _IFUNC GetClassID(LPCLSID lpClassID);
HRESULT _IFUNC IsDirty();
HRESULT _IFUNC Load(LPCOLESTR lpszFileName, DWORD grfMode);
HRESULT _IFUNC Save(LPCOLESTR lpszFileName, BOOL fRemember);
HRESULT _IFUNC SaveCompleted(LPCOLESTR lpszFileName);
HRESULT _IFUNC GetCurFile(LPOLESTR FAR* lplpszFileName);
// IOleItemContainer methods
//
HRESULT _IFUNC ParseDisplayName(IBindCtx* pbc, LPOLESTR lpszDisplayName,
ULONG FAR* pchEaten, IMoniker* FAR* ppmkOut);
HRESULT _IFUNC EnumObjects(DWORD grfFlags,IEnumUnknown* FAR* ppenumUnknown);
HRESULT _IFUNC LockContainer(BOOL fLock);
HRESULT _IFUNC GetObject(LPOLESTR lpszItem, DWORD dwSpeedNeeded, IBindCtx* pbc,
REFIID riid, LPVOID FAR* ppvObject);
HRESULT _IFUNC GetObjectStorage(LPOLESTR lpszItem, IBindCtx* pbc, REFIID riid,
LPVOID FAR* ppvStorage);
HRESULT _IFUNC IsRunning(LPOLESTR lpszItem);
// IBLinkable
// pass in class name (if reg'd in .reg)
//
virtual HRESULT _IFUNC Init(PIBContains, LPCOLESTR pszProgId);
virtual HRESULT _IFUNC SetMoniker(LPMONIKER pMon);
// pass NULL to OnRename when Doc closes
//
virtual HRESULT _IFUNC OnRename(PIBLinkable, LPCOLESTR) ;
virtual HRESULT _IFUNC GetMoniker(LPMONIKER *ppMon);
#if 0
virtual DWORD _IFUNC AddConnection(DWORD, DWORD);
virtual DWORD _IFUNC ReleaseConnection(DWORD, DWORD, BOOL);
#endif
};
#endif _BOLECONT_H