|
|
/*-----------------------------------------------------------------------------+
| SERVER.H | | | | (C) Copyright Microsoft Corporation 1992. All rights reserved. | | | | Revision History | | Oct-1992 MikeTri Ported to WIN32 / WIN16 common code | | | +-----------------------------------------------------------------------------*/
//
// global variables of doom!!
//
extern BOOL gfEmbeddedObject; // TRUE if editing embedded OLE object
extern BOOL gfRunWithEmbeddingFlag; // TRUE if we are run with "-Embedding"
extern BOOL gfCloseAfterPlaying; // TRUE if we are to hide after play
extern BOOL gfPlayingInPlace; // TRUE if playing in place
extern BOOL gfParentWasEnabled; // TRUE if parent was enabled
extern BOOL gfShowWhilePlaying; //
extern BOOL gfDirty; //
extern int gfErrorBox; // TRUE if we have a message box active
extern BOOL gfErrorDeath; // Die when errorbox is up
// server related stuff.
#define REDEFINITION
typedef struct _SRVR *PSRVR; typedef struct _SRVR FAR *LPSRVR;
void FAR PASCAL ServerUnblock(void); void FAR PASCAL BlockServer(void); void FAR PASCAL UnblockServer(void);
void FAR PASCAL PlayInPlace(HWND hwndApp, HWND hwndClient, LPRECT prc); void FAR PASCAL EndPlayInPlace(HWND hwndApp); void FAR PASCAL DelayedFixLink(UINT verb, BOOL fShow, BOOL fActivate);
void CleanObject(void); void UpdateObject(void); BOOL FAR PASCAL IsObjectDirty(void);
typedef struct _SRVR { OLESERVER olesrvr; LHSERVER lhsrvr; // registration handle
HWND hwnd; // corresponding server window
}SRVR;
//BOOL FAR PASCAL InitServer (HWND, HANDLE, LPTSTR);
void FAR PASCAL TermServer (void);
typedef struct _OLECLIENT FAR* LPOLECLIENT;
OLESTATUS FAR PASCAL SrvrOpen (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, LPOLESERVERDOC FAR *); OLESTATUS FAR PASCAL SrvrCreate (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC FAR *); OLESTATUS FAR PASCAL SrvrCreateFromTemplate (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC FAR *); OLESTATUS FAR PASCAL SrvrEdit (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC FAR *); OLESTATUS FAR PASCAL SrvrExit (LPOLESERVER); OLESTATUS FAR PASCAL SrvrRelease1 (LPOLESERVER); OLESTATUS FAR PASCAL SrvrExecute (LPOLESERVER, HGLOBAL);
// server related stuff.
typedef struct _OLE1DOC *POLE1DOC;
typedef struct _OLE1DOC { OLESERVERDOC oledoc; LHSERVERDOC lhdoc; // registration handle
HWND hwnd; // corresponding server window
ATOM aName; // docmnet name.
} OLE1DOC ;
OLESTATUS FAR PASCAL DocSave (LPOLESERVERDOC); OLESTATUS FAR PASCAL DocClose (LPOLESERVERDOC); OLESTATUS FAR PASCAL DocRelease (LPOLESERVERDOC); OLESTATUS FAR PASCAL DocGetObject (LPOLESERVERDOC, OLE_LPCSTR, LPOLEOBJECT FAR *, LPOLECLIENT); OLESTATUS FAR PASCAL DocSetDocDimensions (LPOLESERVERDOC, OLE_CONST RECT FAR*); OLESTATUS FAR PASCAL DocSetHostNames (LPOLESERVERDOC, OLE_LPCSTR, OLE_LPCSTR); OLESTATUS FAR PASCAL DocExecute (LPOLESERVERDOC, HANDLE); OLESTATUS FAR PASCAL DocSetColorScheme (LPOLESERVERDOC, OLE_CONST LOGPALETTE FAR*);
typedef struct _ITEM *PITEM; typedef struct _ITEM FAR *LPITEM;
typedef struct _ITEM { /*OLEOBJECT*/ OLEOBJECT oleobject; LPOLECLIENT lpoleclient; HWND hwnd; }ITEM;
OLESTATUS FAR PASCAL ItemOpen (LPOLEOBJECT, BOOL); OLESTATUS FAR PASCAL ItemDoVerb (LPOLEOBJECT, UINT, BOOL, BOOL); OLESTATUS FAR PASCAL ItemRelease (LPOLEOBJECT); OLESTATUS FAR PASCAL ItemGetData (LPOLEOBJECT, OLECLIPFORMAT, LPHANDLE); OLESTATUS FAR PASCAL ItemSetData (LPOLEOBJECT, OLECLIPFORMAT, HANDLE); OLESTATUS FAR PASCAL ItemSetTargetDevice (LPOLEOBJECT, HANDLE); OLECLIPFORMAT FAR PASCAL ItemEnumFormats (LPOLEOBJECT, OLECLIPFORMAT); OLESTATUS FAR PASCAL ItemSetColorScheme (LPOLEOBJECT, OLE_CONST LOGPALETTE FAR*); OLESTATUS FAR PASCAL ItemSetBounds (LPOLEOBJECT, OLE_CONST RECT FAR*);
extern SRVR gSrvr; extern OLE1DOC gDoc; extern ITEM gItem;
int FAR PASCAL SendChangeMsg(UINT options); //!!!
void FAR PASCAL TerminateServer(void);
void FAR PASCAL NewDoc(BOOL fUntitled); BOOL FAR PASCAL RegisterDocument(LHSERVERDOC lhdoc, LPOLESERVERDOC FAR *lplpoledoc); void FAR PASCAL RevokeDocument(void);
/* ole.h:
*/ typedef WORD OLECLIPFORMAT;
extern OLECLIPFORMAT cfLink; extern OLECLIPFORMAT cfOwnerLink; extern OLECLIPFORMAT cfNative;
void FAR PASCAL SetEmbeddedObjectFlag(BOOL flag);
void FAR PASCAL CopyObject(HWND hwnd);
#define WM_USER_DESTROY (WM_USER+120)
#define WM_DO_VERB (WM_USER+121) /* Perform the ItemSetData */
|