blob: 06d821c9b27baaf7400530b77ea52e302823b836 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
// $Id$
module Web_Server
// = TITLE
// IDL schema definition for Web server interface.
{
typedef sequence<octet> Chunk_Type;
interface Callback
{
// This operation is called back by the server to pass
// the next <chunk> of the file starting. If there are
// no more chunks, <last_chunk> is true.
void next_chunk (in Chunk_Type chunk,
in boolean last_chunk);
};
exception Error_Result
{
// Status of the <register_callback> 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
{
// Modification date.
string modification_date;
// Type of content.
string content_type;
};
interface Iterator_Factory
{
// This registration method passes a <Callback> that
// the Web server uses to ``push'' data associated with
// <pathname> one ``chunk'' at a time. The <metadata>
// reports information about the <pathname>.
Metadata_Type register_callback (in string pathname,
in Callback client_callback)
raises (Error_Result);
};
};
|