Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

80 lines
1.8 KiB

//
// Class CSite. Implementation of Site object for Internet Explorer
//
#ifndef __CSITE_HPP__
#define __CSITE_HPP__
#include "iocs.hpp"
#include "ioctls.hpp"
#include "ias.hpp"
#include "ioips.hpp"
#include "tchar.h"
#include "xobj.hpp"
#include "script1.h"
#include "ambient.hpp"
#ifdef __cplusplus // class definition should be invisible to C sources...
// extern CContainer g_Container; // Global container object.
class CSite : public IUnknown
{
// Friend classes. Implementations of required container interfaces
friend COleClientSite;
friend COleControlSite;
friend CAdviseSink;
public:
DWORD _dwRef;
// Our container interfaces
public:
LPCOLECLIENTSITE _pIOleClientSite;
LPCOLECONTROLSITE _pIOleControlSite;
LPCADVISESINK _pIAdviseSink;
LPCOLEINPLACESITE _pIOleInPlaceSite;
LPCXOBJECT _pXObject;
LPCAMBIENTDISPATCH _pIOleDispatchAmbientProps;
// Intregation interface pointer
LPSCRIPTINTEGRATION _pIntegrator;
public:
HWND _docWnd;
LISTPOSITION _SiteCookie;
CSite(HText *);
virtual ~CSite();
STDMETHODIMP QueryInterface(REFIID, LPVOID *);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
// Public methods
HRESULT Destroy();
HRESULT CreateEmbedding(CLSID clsid);
HRESULT ConnectEvents(const char *sink, const char *progid);
HRESULT InitializeSite(const char*);
};
typedef CSite * LPCSITE;
DECLARE_STANDARD_TYPES(CSite);
#endif //__cplusplus
#ifdef __cplusplus
extern "C" {
#endif
// Helper functions
HRESULT CloseSite(void * ptr);
HRESULT SetEmbeddedObjectRect(BOOL, struct Mwin *, struct _element *);
HRESULT FormatEmbeddedObject(struct _element*, int *, BOOL *, int, struct _line *, int*, int*, int);
HRESULT ShowAllEmbeddings(struct _www *w3doc, struct Mwin *tw, int nCmdShow);
#ifdef __cplusplus
}
#endif
#endif // __CSITE_HPP__