diff options
author | S. Hameed <shameed@jp.adit-jv.com> | 2015-07-28 16:26:00 +0900 |
---|---|---|
committer | Alexander Wenzel <Alexander.AW.Wenzel@bmw.de> | 2015-07-30 10:22:17 +0200 |
commit | 81d76cfeaa3588069887a19f9be7d4337c567c65 (patch) | |
tree | 4e00527db6efd632fc0559e8bcc505c9bcee1b39 /src/daemon/dlt-daemon.c | |
parent | 4092d77b78cd3b1e6805c4c32d9842de83d23e7f (diff) | |
download | DLT-daemon-81d76cfeaa3588069887a19f9be7d4337c567c65.tar.gz |
Offline Logstorage [1/4]: DLT preparation to enable offline logstorage
Signed-off-by: S. Hameed <shameed@jp.adit-jv.com>
Diffstat (limited to 'src/daemon/dlt-daemon.c')
-rw-r--r-- | src/daemon/dlt-daemon.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c index 41cc807..0c70cde 100644 --- a/src/daemon/dlt-daemon.c +++ b/src/daemon/dlt-daemon.c @@ -195,6 +195,7 @@ int option_file_parser(DltDaemonLocal *daemon_local) daemon_local->flags.sendECUSoftwareVersion = 0; memset(daemon_local->flags.pathToECUSoftwareVersion, 0, sizeof(daemon_local->flags.pathToECUSoftwareVersion)); daemon_local->flags.sendTimezone = 0; + daemon_local->flags.offlineLogstorageMaxDevices = 0; /* open configuration file */ if(daemon_local->flags.cvalue[0]) @@ -377,6 +378,10 @@ int option_file_parser(DltDaemonLocal *daemon_local) daemon_local->flags.sendTimezone = atoi(value); //printf("Option: %s=%s\n",token,value); } + else if(strcmp(token, "OfflineLogstorageMaxDevices")==0) + { + daemon_local->flags.offlineLogstorageMaxDevices = atoi(value); + } else { fprintf(stderr, "Unknown option: %s=%s\n",token,value); @@ -736,6 +741,19 @@ int dlt_daemon_local_init_p2(DltDaemon *daemon, DltDaemonLocal *daemon_local, in } } + /* Init offline logstorage for MAX devices */ + if(daemon_local->flags.offlineLogstorageMaxDevices > 0) + { + daemon->storage_handle = malloc(sizeof(DltLogStorage) * daemon_local->flags.offlineLogstorageMaxDevices); + + if(daemon->storage_handle == NULL) + { + dlt_log(LOG_ERR,"Could not initialize offline logstorage\n"); + return -1; + } + memset(daemon->storage_handle, 0, (sizeof(DltLogStorage) * daemon_local->flags.offlineLogstorageMaxDevices)); + } + /* Set ECU id of daemon */ if (daemon_local->flags.evalue[0]) { @@ -1863,6 +1881,15 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemo dlt_daemon_log_internal(daemon, daemon_local, str, daemon_local->flags.vflag); dlt_log(LOG_DEBUG,str); } + if(daemon_local->flags.offlineLogstorageMaxDevices) + { + /* Store log level set for offline logstorage into context structure*/ + context->storage_log_level = dlt_daemon_logstorage_get_loglevel(daemon, daemon_local->flags.offlineLogstorageMaxDevices, usercontext->apid, usercontext->ctid); + } + else + { + context->storage_log_level = DLT_LOG_DEFAULT; + } /* Create automatic get log info response for registered context */ if (daemon_local->flags.rflag) { |