+
+ typedef sequence<octet> fileBlock;
+
+ /*!
+ file transfer object. open method returns a key (fileId) that identifies
+ the structure (ex: C FILE) on the server, created for transfer.
+ */
+ interface fileTransfer
+ {
+ long open(in string fileName);
+
+ void close(in long fileId);
+
+ fileBlock getBlock(in long fileId);
+ };
+
+ /*!
+ A fileRef object is associated to an original file (origFileName) on a
+ machine (refMachine).
+ It is created by a container (factoryServer) on refMachine,
+ with createFileRef(in string origFileName) method.
+ fileRef object maintains a list of (machine,filename) for copies.
+ If a copy exists on myMachine, getRef(myMachine) returns the file name
+ of the copy on myMachine, else returns empy string.
+ If there is no copy on myMachine, method getFileTransfer() from container
+ factoryServer on refMachine provides a fileTransfer object dedicated to
+ CORBA file copy.
+ After the copy, addRef(myMachine, localFileNameOnMyMachine) registers
+ the file name of the copy on myMachine.
+ */
+ interface fileRef
+ {
+ readonly attribute string origFileName;
+ readonly attribute string refMachine;
+
+ Container getContainer();
+
+ boolean addRef(in string machine,
+ in string fileName);
+
+ string getRef(in string machine);
+ };
+