summaryrefslogtreecommitdiffstats
path: root/ceee/ie/broker/broker_rpc_lib.idl
blob: 84263e5641ea38bb01755a53df2c06415c005239 (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
import "oaidl.idl";
import "ocidl.idl";

[ 
  uuid (931C5D3F-A6D7-411B-98ED-789FC9291302),
  // TODO(vitalybuka@google.com): decide if we need meaningful version.
  version(1.1),
  pointer_default(unique),
]
interface CeeeBroker {

// Context handle to allow server maintain number of active clients.
typedef [context_handle] void* BrokerContextHandle;

// @name Implementation specific calls.
// @{
// Returns context handle for new client.
BrokerContextHandle Connect([in] handle_t binding_handle);

// Release context handle.
void Disconnect([in] handle_t binding_handle,
                [in, out] BrokerContextHandle* context);
// @}

// @name Remote calls.
// @{
// Fires event to broker.
// @param context is required to avoid execution by wrong broker instance.
void FireEvent([in] handle_t binding_handle,
               [in] BrokerContextHandle context,
               [in, string] const char* event_name,
               [in, string] const char* event_args);

void SendUmaHistogramTimes([in] handle_t binding_handle,
                           [in, string] const char* name,
                           [in] int sample);

void SendUmaHistogramData([in] handle_t binding_handle,
                          [in, string] const char* name,
                          [in] int sample,
                          [in] int min,
                          [in] int max,
                          [in] int bucket_count);
// @}
}

// This dummy library statement enforces the creation of a history_indexer.tlb.
// This is necessary since MSVC assumes a .idl always creates a .tlb. Otherwise,
// this .idl is always recompiled, giving many engs a headache.
[
  uuid(B696C552-D640-4756-BE75-B86BE2AEB6C7),
  helpstring("Dummy library")
]
library broker_rcp_lib
{
};