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. void FireEvent( [in] handle_t binding_handle, [in, string] const char* event_name, [in, string] const char* event_args); void SendUmaHistogramTimes( [in] handle_t binding_handle, [in] BSTR event_name, [in] int sample); void SendUmaHistogramData( [in] handle_t binding_handle, [in] BSTR event_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 { };