diff --git a/interfaces/IAnalytics.h b/interfaces/IAnalytics.h new file mode 100644 index 00000000..3b14c7e9 --- /dev/null +++ b/interfaces/IAnalytics.h @@ -0,0 +1,40 @@ +#pragma once + +#include "Module.h" + +// @stubgen:include + +namespace WPEFramework { +namespace Exchange { + // @json 1.0.0 + struct EXTERNAL IAnalytics : virtual public Core::IUnknown { + enum { ID = ID_ANALYTICS }; + + virtual ~IAnalytics() = default; + + using IStringIterator = RPC::IIteratorType; + + + // @alt sendEvent + // @brief Send an event to the analytics server + // @text:keep + // @param eventName: Name of the event + // @param eventVersion: Version of the event + // @param eventSource: Source of the event + // @param eventSourceVersion: Version of the event source + // @param cetList: List of CETs + // @param epochTimestamp: Epoch timestamp of the event + // @param uptimeTimestamp: Uptime timestamp of the event + // @param eventPayload: Payload of the event + + virtual Core::hresult SendEvent(const string& eventName /* @in */, + const string& eventVersion /* @in */, + const string& eventSource /* @in */, + const string& eventSourceVersion /* @in */, + IStringIterator* const& cetList /* @in */, + const uint64_t epochTimestamp /* @in */, + const uint64_t uptimeTimestamp /* @in */, + const string& eventPayload /* @in */ ) = 0; + }; +} +} diff --git a/interfaces/Ids.h b/interfaces/Ids.h index e132d4fa..92add7cd 100644 --- a/interfaces/Ids.h +++ b/interfaces/Ids.h @@ -374,6 +374,7 @@ namespace Exchange { ID_TESTAUTOMATIONCOMRPC = ID_TESTAUTOMATIONMEMORY + 1, ID_TESTAUTOMATIONCOMRPCINTERNAL = ID_TESTAUTOMATIONMEMORY + 2 + ID_ANALYTICS = RPC::IDS::ID_EXTERNAL_INTERFACE_OFFSET + 0x500 }; } }