summaryrefslogtreecommitdiff
path: root/apps/Orbix-Examples/Logger/logger.idl
blob: 0fe673a84b9fc8129c4221b502e694bf3efd78d4 (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
/* -*- C++ -*- */
// @(#)logger.idl	1.1	10/18/96

// logger.idl

interface logger
// = TITLE
// This is the CORBA interface for the logger class.
{
  // = Types of logging messages.
  enum Log_Priority 
  {
    LM_MESSAGE,
    LM_DEBUG, 
    LM_WARNING,
    LM_ERROR,
    LM_EMERG
  };

  // = Format of the logging record.
  struct Log_Record 
  {
    Log_Priority   type;         // Type of logging message.
    long           time;         // Time stamp at sender.
    long           app_id;       // Process ID of sender.
    long           host_addr;    // IP address of the sender.
    sequence<char> msg_data;     // Sender-specific logging message.
  };

  oneway void log (in Log_Record log_rec);
  // Transmit a Log_Record to the logging server.
  
  attribute char verbose;
  // Toggle verbose formatting
};
  
interface profile_logger
  : logger // Profile_Logger IS-A Logger
// = TITLE 
// IDL Profile Logger definition that is used
// to compute statistics about the logging.
{
  // = Stores the amount of time that has elapsed.
  struct Elapsed_Time
  {
    double real_time;
    double user_time;
    double system_time;
  };

  void start_timer ();
  // Activate the timer.

  void stop_timer (out Elapsed_Time et);
  // Deactivate the timer and return the elapsed time.
};