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::string, 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)