convert line ends
[canaan.git] / prj / cam / h / scrptnet.h
blob42f979a0a0f75f41390308334bc701795702adcf
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 ///////////////////////////////////////////////////////////////////////////////
7 // $Header: r:/prj/cam/libsrc/script/RCS/scrptnet.h 1.1 1999/01/20 18:46:36 JUSTIN Exp $
8 //
9 // ObjScript Networking Interface
11 // If a client of scripts is networked, and can have objects distributed
12 // amongst multiple players, then it should implement this interface and
13 // place it in the appagg. This defines the functionality that scripting
14 // needs in order to deal reasonably with distributed objects.
17 #ifndef __SCRPTNET_H
18 #define __SCRPTNET_H
20 #include <lg.h>
21 #include <comtools.h>
22 #include <multparm.h>
24 F_DECLARE_INTERFACE(IScriptNet);
25 typedef int ObjID;
27 ///////////////////////////////////////////////////////////////////////////////
29 // INTERFACE: IScriptNet
32 #undef INTERFACE
33 #define INTERFACE IScriptNet
35 DECLARE_INTERFACE_(IScriptNet, IUnknown)
38 // IUnknown methods
40 DECLARE_UNKNOWN_PURE();
43 // Is the specified object a proxy for an object on another machine?
45 STDMETHOD_(BOOL, ObjIsProxy)(THIS_ ObjID obj) PURE;
48 // Post this message to the object on its owner's machine.
50 STDMETHOD(PostToOwner)(THIS_ ObjID from,
51 ObjID to,
52 const char *msg,
53 const cMultiParm &data,
54 const cMultiParm &data2,
55 const cMultiParm &data3) PURE;
58 #endif // !__SCRPTNET_H