~cairo-dock-team/cairo-dock-plug-ins/plug-ins

« back to all changes in this revision

Viewing changes to powermanager/src/powermanager-struct.h

  • Committer: Matthieu Baerts
  • Date: 2014-10-19 00:26:10 UTC
  • Revision ID: matttbe@gmail.com-20141019002610-ulf26s9b4c4rw10r
We just switched from BZR to Git.
Follow us on Github: https://github.com/Cairo-Dock

Note: we will only use Github to manage our source code and all pull requests.
Please continue to report your bugs/ideas/messages on our forum or Launchpad! 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/**
2
 
* This file is a part of the Cairo-Dock project
3
 
*
4
 
* Copyright : (C) see the 'copyright' file.
5
 
* E-mail    : see the 'copyright' file.
6
 
*
7
 
* This program is free software; you can redistribute it and/or
8
 
* modify it under the terms of the GNU General Public License
9
 
* as published by the Free Software Foundation; either version 3
10
 
* of the License, or (at your option) any later version.
11
 
*
12
 
* This program is distributed in the hope that it will be useful,
13
 
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
* GNU General Public License for more details.
16
 
* You should have received a copy of the GNU General Public License
17
 
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
 
*/
19
 
 
20
 
#ifndef __POWERMANAGER_STRUCT__
21
 
#define  __POWERMANAGER_STRUCT__
22
 
 
23
 
#include <cairo-dock.h>
24
 
#ifdef CD_UPOWER_AVAILABLE
25
 
#include <upower.h>
26
 
#endif
27
 
 
28
 
typedef enum _CDPowermanagerDisplayType {
29
 
        CD_POWERMANAGER_GAUGE=0,
30
 
        CD_POWERMANAGER_GRAPH,
31
 
        CD_POWERMANAGER_ICONS,
32
 
        CD_POWERMANAGER_NB_TYPES
33
 
        } CDPowermanagerDisplayType; 
34
 
 
35
 
typedef enum {
36
 
        POWER_MANAGER_NOTHING = 0,
37
 
        POWER_MANAGER_CHARGE,
38
 
        POWER_MANAGER_TIME,
39
 
        POWER_MANAGER_NB_QUICK_INFO_TYPE
40
 
  } MyAppletQuickInfoType;
41
 
 
42
 
 
43
 
typedef enum {
44
 
        POWER_MANAGER_CHARGE_CRITICAL = 0,
45
 
        POWER_MANAGER_CHARGE_LOW,
46
 
        POWER_MANAGER_CHARGE_FULL,
47
 
        POWER_MANAGER_NB_CHARGE_LEVEL,
48
 
        } MyAppletCharge;
49
 
 
50
 
        
51
 
struct _AppletConfig {
52
 
        gchar *defaultTitle;
53
 
        MyAppletQuickInfoType quickInfoType;
54
 
        gint iCheckInterval;
55
 
        
56
 
        CDPowermanagerDisplayType iDisplayType;
57
 
        CairoDockTypeGraph iGraphType;
58
 
        gdouble fLowColor[3];
59
 
        gdouble fHigholor[3];
60
 
        gdouble fBgColor[4];
61
 
        
62
 
        gint iNotificationType;
63
 
        gchar *cNotificationAnimation;
64
 
        gint iNotificationDuration;
65
 
        gboolean highBatteryWitness;
66
 
        gboolean lowBatteryWitness;
67
 
        gboolean criticalBatteryWitness;
68
 
        gint lowBatteryValue;
69
 
        gchar *cGThemePath;
70
 
        gchar *cSoundPath[POWER_MANAGER_NB_CHARGE_LEVEL];
71
 
        
72
 
        gdouble fLastDischargeMeanRate;
73
 
        gdouble fLastChargeMeanRate;
74
 
        
75
 
        gchar *cUserBatteryIconName;
76
 
        gchar *cUserChargeIconName;
77
 
        gchar *cEmblemIconName;
78
 
        gboolean bHideNotOnBattery;
79
 
} ;
80
 
 
81
 
 
82
 
#ifdef CD_UPOWER_AVAILABLE
83
 
typedef struct {
84
 
        UpClient *pUPowerClient;
85
 
        GList *pBatteryDeviceList;
86
 
        } CDSharedMemory;
87
 
#endif
88
 
 
89
 
struct _AppletData {
90
 
        GldiTask *pTask;  // async task to find the available backend (launched on startup)
91
 
        
92
 
        // UPower
93
 
        #ifdef CD_UPOWER_AVAILABLE
94
 
        UpClient *pUPowerClient;
95
 
        GList *pSignalIDList;  // SID for the "battery properties changed" signal of the UPower battery device
96
 
        gint iSignalIDAdded;
97
 
        gint iSignalIDRemoved;
98
 
        #endif
99
 
        GList *pBatteryDeviceList;
100
 
        
101
 
        // ACPI
102
 
        gchar *cBatteryStateFilePath;  // path to the ACPI file
103
 
        gboolean bProcAcpiFound;  // TRUE if in /proc/acpi (old format)
104
 
        gboolean bSysClassFound;  // TRUE if in /sys/class (new format)
105
 
        gint checkLoop;  // SID of the check loop is no UPower
106
 
        
107
 
        // Properties
108
 
        gchar *cTechnology;
109
 
        gchar *cVendor;
110
 
        gchar *cModel;
111
 
        gdouble fMaxAvailableCapacity;
112
 
        
113
 
        gint iTime;
114
 
        gint iPercentage;
115
 
        gboolean bOnBattery;
116
 
        gboolean bBatteryPresent;
117
 
        gint iPrevTime;
118
 
        gint iPrevPercentage;
119
 
        gboolean bPrevOnBattery;
120
 
        gboolean bIsHidden;
121
 
        
122
 
        gint iCapacity;
123
 
        
124
 
        gdouble fChargeMeanRate;
125
 
        gint iNbChargeMeasures;
126
 
        gdouble fDischargeMeanRate;
127
 
        gint iNbDischargeMeasures;
128
 
        
129
 
        gint iStatPercentage;
130
 
        gint iStatPercentageBegin;
131
 
        gint iStatTime;
132
 
        gint iStatTimeCount;
133
 
        
134
 
        gint iOnBatteryImage;  // -1 = no image yet, 0 = charging, 1 = on battery
135
 
        } ;
136
 
 
137
 
 
138
 
#endif