% $OpenXM: OpenXM/src/kan96xx/Doc/oxd.sm1,v 1.1 2002/10/20 13:13:36 takayama Exp $
[(parse) (oxasir.sm1) pushfile] extension
% It has not yet been finished.
/asirconnectr {
[/in-asirconnectr /pass /peer /data /control
/comm /oxd /ff /fname /nl
/oxasir] pushVariables
[
/nl 10 (string) dc def
[(sm1.socket) (connect) [8089]] extension /oxd set
[(sm1.socket) (select) [oxd 0 get -1]] extension
[(sm1.socket) (read) [oxd 0 get]] extension /ff set
/gg [() nl ] cat def
ff message gg message
[(sm1.socket) (write) [oxd 0 get gg]] extension
[(flush)] extension
[(sm1.socket) (select) [oxd 0 get -1]] extension
[(sm1.socket) (read) [oxd 0 get]] extension /ff set
ff getFname /fname set
fname message
[(touch ) fname ] cat system
/peer [(oxGetPort) (localhost)] extension def
/data peer 1 get toString def
/control peer 3 get toString def
% /pass 0 (string) dc def % empty password
/pass (hoge) def
peer message
[(ox -ox ox_asir ) ( -reverse ) ( -data ) data ( -control ) control
( -pass ) pass
] cat /comm set
/gg [ () nl ] cat def
ff message gg message
[(sm1.socket) (write) [oxd 0 get gg]] extension
[(sm1.socket) (select) [oxd 0 get -1]] extension
[(sm1.socket) (read) [oxd 0 get]] extension /ff set
% read ?
/gg [( ) comm ( ) nl ] cat def
ff message gg message
[(sm1.socket) (write) [oxd 0 get gg]] extension
[(oxCreateClient2) peer 0 pass] extension /oxasir set
%% 0 means connect from only localhost.
oxasir asirinit
/arg1 oxasir def
] pop
popVariables
arg1
} def
/getFname {
/arg1 set
[/in-getFname /comm /i /comm2
/j
] pushVariables
[
/comm arg1 def
comm (array) dc /comm set
% comm message
% 34 = "
/comm2 [ ] def
0 1 comm length 1 sub {
/i set
comm i get 34 eq {
[
i 1 add 1 comm length 1 sub {
/j set
comm j get
} for
] /comm2 set
exit
} { } ifelse
} for
comm2 /comm set
% comm message
[
0 1 comm length 1 sub {
/i set
comm i get 34 eq {
exit
} {
comm i get
} ifelse
} for
] /comm2 set
comm2 {(string) dc} map cat /arg1 set
] pop
popVariables
arg1
} def