summaryrefslogtreecommitdiff
path: root/TAO/examples/Simulator/Persian.idl
blob: 014dcbb9d4b5d4fdc0361f45e0fa2d37e12de3ac (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// $Id$

// ===========================================================================
//
// = FILE  
//     Persian.idl
//
// = DESCRIPTION
//     Data struct and termination interface for the
//     DOVE Persian Recursion Demo.

// = AUTHOR
//     Chris Gill <cdgill@cs.wustl.edu>

// ============================================================================

#ifndef TAO_PERSIAN_RECURSION_IDL
#define TAO_PERSIAN_RECURSION_IDL

#include "TimeBase.idl"
#include "RtecScheduler.idl"
#pragma prefix ""

module PersianRecursion
{
  enum Line_Color_t
  // Defines the criticality of the operation.
  // For use with Dynamic Scheduler.
  {
    BLACK,
    BLUE,
    YELLOW,
    RED,
    GREEN,
    WHITE
  };

  struct Data
  {
    // Demuxing part.
    RtecScheduler::Criticality_t criticality_level;

    // Data part.
    Line_Color_t line_color;
    short x1;
    short y1;
    short x2;
    short y2;

    // Metrics part.
    TimeBase::TimeT computation_time;
  };


  interface Terminator
      // = DESCRIPTION
      // This interface specifies a single operation, used
      // to shut down the orb.  This allows the orb to
      // be shut down cleanly, from within a synchronously 
      // servant dispatched servant, but with the request
      // originating from another thread.
  {
      void shutdown ();
  };

};

#endif /* TAO_PERSIAN_RECURSION_IDL */