struct CCL::IAnalyticsManager

Overview

#include <ianalyticsmanager.h>

struct IAnalyticsManager: public CCL::IClassAllocator
{
    // methods

    virtual tresult CCL_API setEventAllocator (IClassAllocator* allocator) = 0;
    virtual tresult CCL_API addEventSink (IAnalyticsEventSink* eventSink) = 0;
    virtual tresult CCL_API removeEventSink (IAnalyticsEventSink* eventSink) = 0;
    virtual tbool CCL_API isTrackingActive () const = 0;

    virtual tresult CCL_API addEvent (
        StringID eventId,
        const IAttributeList* data = nullptr
    ) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    virtual tresult CCL_API createInstance (UIDRef cid, UIDRef iid, void** obj) = 0;

Detailed Documentation

Methods

virtual tresult CCL_API setEventAllocator (IClassAllocator* allocator) = 0

Assign allocator, must support ClassID::AnalyticsEvent and ClassID::Attributes.

virtual tresult CCL_API addEventSink (IAnalyticsEventSink* eventSink) = 0

Register analytics event sink.

virtual tresult CCL_API removeEventSink (IAnalyticsEventSink* eventSink) = 0

Unregister analytics event sink.

virtual tbool CCL_API isTrackingActive () const = 0

Check if tracking is currently active, i.e.

one or more sinks registered.

virtual tresult CCL_API addEvent (
    StringID eventId,
    const IAttributeList* data = nullptr
) = 0

Add analytics event.

The event is passed on to all sinks.