17 #ifndef LOGCOLLECTOR_HPP_
18 #define LOGCOLLECTOR_HPP_
22 #ifdef KAA_USE_LOGGING
38 class LogCollector :
public ILogCollector {
41 LogCollector(ILogStorage* storage, ILogStorageStatus* status, ILogUploadConfiguration* configuration, ILogUploadStrategy* strategy);
43 void addLogRecord(
const SuperRecord& record) {
44 makeLogRecord(LogRecord(record));
47 void setStorage(ILogStorage * storage);
48 void setStorageStatus(ILogStorageStatus * status);
49 void setConfiguration(ILogUploadConfiguration * configuration);
50 void setUploadStrategy(ILogUploadStrategy * strategy);
52 LogSyncRequest getLogUploadRequest();
53 void onLogUploadResponse(
const LogSyncResponse& response);
55 void setTransport(LoggingTransport *transport);
60 void makeLogRecord(
const LogRecord& record);
64 ILogStorage * storage_;
65 ILogStorageStatus * status_;
66 ILogUploadConfiguration * configuration_;
67 ILogUploadStrategy * strategy_;
69 LoggingTransport* transport_;
71 std::map<std::int32_t, LogSyncRequest> requests_;
77 std::unique_ptr<MemoryLogStorage> defaultLogStorage_;
78 std::unique_ptr<SizeUploadStrategy> defaultUploadStrategy_;
79 std::unique_ptr<DefaultLogUploadConfiguration> defaultConfiguration_;
#define KAA_MUTEX_DECLARE(name)