improved control when an attribute request is sent
[strongswan.git] / src / libimcv / plugins / imv_os / imv_os_state.h
index 760df78..d3e3191 100644 (file)
 #include <library.h>
 
 typedef struct imv_os_state_t imv_os_state_t;
+typedef enum os_settings_t os_settings_t;
+
+enum os_settings_t {
+       OS_SETTINGS_FWD_ENABLED =         1,
+       OS_SETTINGS_DEFAULT_PWD_ENABLED = 2,
+       OS_SETTINGS_NON_MARKET_APPS =     4
+};
 
 /**
  * Internal state of an imv_os_t connection instance
@@ -80,6 +87,21 @@ struct imv_os_state_t {
         */
        void (*get_count)(imv_os_state_t *this, int *count, int *count_update,
                                          int *count_blacklist, int *count_ok);
+
+       /**
+        * Set/reset attribute request status
+        *
+        * @param set                   TRUE to set, FALSE to clear
+        */
+       void (*set_attribute_request)(imv_os_state_t *this, bool set);
+
+       /**
+        * Get attribute request status
+        *
+        * @return                              TRUE if set, FALSE if unset
+        */
+       bool (*get_attribute_request)(imv_os_state_t *this);
+
        /**
         * Set/reset OS Installed Packages request status
         *
@@ -95,6 +117,34 @@ struct imv_os_state_t {
        bool (*get_package_request)(imv_os_state_t *this);
 
        /**
+        * Set device ID
+        *
+        * @param device_id             Device ID primary database key
+        */
+       void (*set_device_id)(imv_os_state_t *this, int id);
+
+       /**
+        * Get device ID
+        *
+        * @return                              Device ID primary database key
+        */
+       int (*get_device_id)(imv_os_state_t *this);
+
+       /**
+        * Set OS settings
+        *
+        * @param settings              OS settings
+        */
+       void (*set_os_settings)(imv_os_state_t *this, u_int settings);
+
+       /**
+        * Get OS settings
+        *
+        * @return                              OS settings
+        */
+       u_int (*get_os_settings)(imv_os_state_t *this);
+
+       /**
         * Increase/Decrease the ITA Angel count
         *
         * @param start                 TRUE increases and FALSE decreases count by one