diff --git a/interfaces/IAnalytics.h b/interfaces/IAnalytics.h new file mode 100644 index 00000000..59ef101e --- /dev/null +++ b/interfaces/IAnalytics.h @@ -0,0 +1,39 @@ +#pragma once + +#include "Module.h" + +// @stubgen:include + +namespace WPEFramework { +namespace Exchange { + // @json 1.0.0 @text:keep + struct EXTERNAL IAnalytics : virtual public Core::IUnknown { + enum { ID = ID_ANALYTICS }; + + virtual ~IAnalytics() override = default; + + using IStringIterator = RPC::IIteratorType; + + + // @alt sendEvent + // @brief Send an event to the analytics server + // @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 f367d646..eeba6c01 100644 --- a/interfaces/Ids.h +++ b/interfaces/Ids.h @@ -408,7 +408,9 @@ namespace Exchange { ID_MEMORY_MONITOR_NOTIFICATION = ID_MEMORY_MONITOR + 1, ID_IOCONNECTOR = RPC::IDS::ID_EXTERNAL_INTERFACE_OFFSET + 0x580, - ID_IOCONNECTOR_NOTIFICATION = ID_IOCONNECTOR + 1 + ID_IOCONNECTOR_NOTIFICATION = ID_IOCONNECTOR + 1, + + ID_ANALYTICS = RPC::IDS::ID_EXTERNAL_INTERFACE_OFFSET + 0x590 }; } }