=================================================================== RCS file: /home/cvs/OpenXM/src/k097/lib/ox/ox.k,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- OpenXM/src/k097/lib/ox/ox.k 2000/12/06 11:37:34 1.1 +++ OpenXM/src/k097/lib/ox/ox.k 2000/12/06 23:45:32 1.2 @@ -1,9 +1,16 @@ -/* $OpenXM$ */ +/* $OpenXM: OpenXM/src/k097/lib/ox/ox.k,v 1.1 2000/12/06 11:37:34 takayama Exp $ */ -class OX extends Object { - local client, - engine; - def start(name) { +class OXcontrol extends Object { + local control; + def new0(c) { + if (Tag(c) != 0) { + control = c; + return(this); + }else{ + return(start()); + } + } + def start() { local c,e, pass, peer, data, s, stmp; this = new(super.new0()); sm1(" [(oxGenPass)] extension /pass set "); @@ -17,10 +24,29 @@ class OX extends Object { sm1(" stmp message "); sm1(" stmp system "); sm1(" [(oxCreateControl_RFC_101) peer 0 pass] extension /c set "); - client = c; + control = c; return(this); + } + } +class OXengine extends OXcontrol { + local engine; + def start(control,name) { + local c,e, pass, peer, data, s, stmp, engineID; + this = super.new0(control); + control = this.control; + sm1(" [(oxGetPort1) (localhost)] extension /peer set "); + sm1(" /data peer 1 get def "); + control.pushCMO(data); + control.pushCMO(name); + control.pushCMD(SM_control_spawn_server); + engineID = control.popCMO(); + sm1(" [(oxCreateEngine_RFC_101) peer 0 (Empty) engineID] extension /c set "); + engine = c; + return(this); +} -} \ No newline at end of file +} +