use OS type on IMV side
[strongswan.git] / src / libimcv / plugins / imv_os / imv_os_state.h
index 2d20692..bde5c23 100644 (file)
@@ -22,6 +22,7 @@
 #ifndef IMV_OS_STATE_H_
 #define IMV_OS_STATE_H_
 
+#include "os_info/os_info.h"
 #include <imv/imv_state.h>
 #include <library.h>
 
@@ -40,17 +41,51 @@ struct imv_os_state_t {
        /**
         * Set OS Product Information
         *
-        * @param name          OS name
+        * @param type          OS type (enumerated)
+        * @param name          OS name (string)
         * @param version       OS version
         */
-       void (*set_info)(imv_os_state_t *this, chunk_t name, chunk_t version);
+       void (*set_info)(imv_os_state_t *this, os_type_t os_type,
+                                        chunk_t name, chunk_t version);
 
        /**
         * Get OS Product Information
         *
-        * @result                      OS name & version
+        * @param type          OS type (enumerated)
+        * @param name          OS name (string)
+        * @param version       OS version
+        * @result                      OS name & version as a concatenated string 
+        */
+       char* (*get_info)(imv_os_state_t *this, os_type_t *os_type,
+                                         chunk_t *name, chunk_t *version);
+
+       /**
+        * Set/reset OS Installed Packages request status
+        *
+        * @param set           TRUE to set, FALSE to clear
+        */
+       void (*set_package_request)(imv_os_state_t *this, bool set);
+
+       /**
+        * Get OS Installed Packages request status
+        *
+        * @result                      TRUE if set, FALSE if unset
+        */
+       bool (*get_package_request)(imv_os_state_t *this);
+
+       /**
+        * Increase/Decrease the ITA Angel count
+        *
+        * @param start                 TRUE increases and FALSE decreases count by one
+        */
+       void (*set_angel_count)(imv_os_state_t *this, bool start);
+
+       /**
+        * Get the ITA Angel count
+        *
+        * @result                      ITA Angel count
         */
-       char* (*get_info)(imv_os_state_t *this);
+       int (*get_angel_count)(imv_os_state_t *this);
 
 };