summaryrefslogtreecommitdiff
path: root/TAO/examples/Content_Server/SMI_Iterator/Web_Server.idl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/Content_Server/SMI_Iterator/Web_Server.idl')
-rw-r--r--TAO/examples/Content_Server/SMI_Iterator/Web_Server.idl48
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>.
+ };
+};