1#ifndef _STACK_IDL
2#define _STACK_IDL
3
4module StackModule {
5
6  exception EmptyStack {};
7
8  interface Stack {
9
10    long pop() raises(StackModule::EmptyStack);
11
12    void push(in long value);
13
14    void empty();
15
16  };
17
18  interface StackFactory {
19
20    StackModule::Stack create_stack();
21    void destroy_stack(in StackModule::Stack s);
22
23  };
24
25};
26
27#endif
28