summaryrefslogtreecommitdiff
path: root/AudioManagerUtilities/include/CAmWatchdog.h
diff options
context:
space:
mode:
authorChristian Linke <christian.linke@bmw.de>2015-12-02 17:25:12 +0000
committerChristian Linke <christian.linke@bmw.de>2015-12-02 17:25:12 +0000
commit3f8431c8d0886dd18ab157694a64766a2d7288bd (patch)
tree92e6743dd11f74a0862c1b69ec36e5cd364b39ff /AudioManagerUtilities/include/CAmWatchdog.h
parent2312c029d469fcc00bc465f44c398f6460cb51e5 (diff)
downloadaudiomanager-3f8431c8d0886dd18ab157694a64766a2d7288bd.tar.gz
moved watchdog into utilities and created .pc file for utilities
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Diffstat (limited to 'AudioManagerUtilities/include/CAmWatchdog.h')
-rwxr-xr-xAudioManagerUtilities/include/CAmWatchdog.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/AudioManagerUtilities/include/CAmWatchdog.h b/AudioManagerUtilities/include/CAmWatchdog.h
new file mode 100755
index 0000000..4449c75
--- /dev/null
+++ b/AudioManagerUtilities/include/CAmWatchdog.h
@@ -0,0 +1,50 @@
+/**
+ * SPDX license identifier: MPL-2.0
+ *
+ * Copyright (C) 2012, BMW AG
+ *
+ * This file is part of GENIVI Project AudioManager.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Christian Linke, christian.linke@bmw.de BMW 2011,2012
+ *
+ * \file CAmWatchdog.h
+ * For further information see http://www.genivi.org/.
+ *
+ */
+
+#ifndef CAMWATCHDOG_H_
+#define CAMWATCHDOG_H_
+
+#include "CAmSocketHandler.h"
+
+namespace am
+{
+
+/**
+ * Implements the watchdog of the AudioManager with the help of systemd
+ */
+class CAmWatchdog
+{
+public:
+ CAmWatchdog(CAmSocketHandler* CAmSocketHandler);
+ virtual ~CAmWatchdog();
+ void startWatchdog(); //!< starts the watchdog by sending ready to systemD
+ void timerCallback(sh_timerHandle_t handle, void * userData); //!< the watchdog timer callback
+ TAmShTimerCallBack<CAmWatchdog> TimerCallback;
+
+private:
+ CAmSocketHandler* mpCAmSocketHandler; //!< pointer to the sockethandler
+ sh_timerHandle_t mHandle; //!< handle of the timer
+};
+
+} /* namespace am */
+#endif /* CAMWATCHDOG_H_ */