diff options
Diffstat (limited to 'TAO/examples/Content_Server/SMI_Iterator/Web_Server.idl')
-rw-r--r-- | TAO/examples/Content_Server/SMI_Iterator/Web_Server.idl | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/TAO/examples/Content_Server/SMI_Iterator/Web_Server.idl b/TAO/examples/Content_Server/SMI_Iterator/Web_Server.idl new file mode 100644 index 00000000000..4b1c6eeb54e --- /dev/null +++ b/TAO/examples/Content_Server/SMI_Iterator/Web_Server.idl @@ -0,0 +1,48 @@ +// $Id$ + +// IDL schema definition for Web server interface. +module Web_Server +{ + typedef sequence<octet> Chunk_Type; + + interface Content_Iterator + { + boolean next_chunk (in unsigned long long offset, + out Chunk_Type chunk); + // This operation returns the next <chunk> of the + // file starting at <offset>. If there are + // no more bindings, false is returned. + + void destroy (); + // This operation destroys the iterator. + }; + + exception Error_Result { + // Status of the <get_iterator> operation. These + // values should map onto the normal HTTP + // status values, e.g., 200 means success, 404 + // means "file not found," etc. + short status; + }; + + struct Metadata_Type + { + string modification_date; + // Modification date. + + string content_type; + // Type of content. + }; + + interface Iterator_Factory + { + void get_iterator (in string pathname, + out Content_Iterator contents, + out Metadata_Type metadata) + raises (Error_Result); + // This factory method returns a <Content_Iterator> that + // can be used to read the <contents> associated with + // <pathname> one ``chunk'' at a time. The <metadata> + // reports information about the <contents>. + }; +}; |