summaryrefslogtreecommitdiffstats
path: root/src/power/power.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/power/power.h')
-rw-r--r--src/power/power.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/power/power.h b/src/power/power.h
new file mode 100644
index 0000000..8f1f0bc
--- /dev/null
+++ b/src/power/power.h
@@ -0,0 +1,56 @@
+#ifndef POWER_H
+#define POWER_H
+
+#include <glib.h>
+
+typedef struct _Power Power;
+typedef struct _CMPIBroker CMPIBroker;
+typedef struct _PowerStateChangeJob PowerStateChangeJob;
+
+/**
+ * Get reference to global power object
+ * \note Don't forget to call power_unref
+ */
+Power *power_ref(const CMPIBroker *_cb);
+
+/**
+ * Decrement reference counter for power struct
+ */
+void power_unref(Power *power);
+
+/**
+ * Get list of available requested power states
+ *
+ * \param power Pointer to power struct, obtained by power_ref
+ * \param count Number of states returned
+ * \return list of power states
+ */
+unsigned short *power_available_requested_power_states(Power *power, int *count);
+
+/**
+ * Get requested power state
+ *
+ * \param power Pointer to power struct, obtained by power_ref
+ * \return current requested power state
+ */
+unsigned short power_requested_power_state(Power *power);
+
+/**
+ * Request change power state to \p state
+ *
+ * \param power Pointer to power struct, obtained by power_ref
+ * \param state Requested power state
+ * \return CMPI return code
+ */
+int power_request_power_state(Power *power, unsigned short state);
+
+GList *power_get_jobs(Power *power);
+
+unsigned short power_transitioning_to_power_state(Power *power);
+
+
+unsigned short job_state(PowerStateChangeJob *state);
+int job_timeOfLastChange(PowerStateChangeJob *state);
+int job_timeBeforeRemoval(PowerStateChangeJob *state);
+
+#endif // POWER_H