summaryrefslogtreecommitdiff
path: root/src/daemon/dlt-daemon.c
diff options
context:
space:
mode:
authorS. Hameed <shameed@jp.adit-jv.com>2015-07-28 16:26:00 +0900
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2015-07-30 10:22:17 +0200
commit81d76cfeaa3588069887a19f9be7d4337c567c65 (patch)
tree4e00527db6efd632fc0559e8bcc505c9bcee1b39 /src/daemon/dlt-daemon.c
parent4092d77b78cd3b1e6805c4c32d9842de83d23e7f (diff)
downloadDLT-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.c27
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)
{