1
/* vi: set et sw=4 ts=8 cino=t0,(0: */
2
/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 8 -*- */
4
* This file is part of mission-control
6
* Copyright (C) 2007 Nokia Corporation.
8
* Contact: Naba Kumar <naba.kumar@nokia.com>
10
* This library is free software; you can redistribute it and/or
11
* modify it under the terms of the GNU Lesser General Public License
12
* version 2.1 as published by the Free Software Foundation.
14
* This library is distributed in the hope that it will be useful, but
15
* WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* Lesser General Public License for more details.
19
* You should have received a copy of the GNU Lesser General Public
20
* License along with this library; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
30
#include <glib-object.h>
31
#include "mcd-debug.h"
35
#define MCD_TYPE_MISSION (mcd_mission_get_type ())
36
#define MCD_MISSION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MCD_TYPE_MISSION, McdMission))
37
#define MCD_MISSION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), MCD_TYPE_MISSION, McdMissionClass))
38
#define MCD_IS_MISSION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MCD_TYPE_MISSION))
39
#define MCD_IS_MISSION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MCD_TYPE_MISSION))
40
#define MCD_MISSION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MCD_TYPE_MISSION, McdMissionClass))
42
#define MCD_MISSION_GET_FLAGS_MASKED(mission, flags) \
43
(mcd_mission_get_flags (mission) & flags)
45
#define MCD_MISSION_SET_FLAGS_MASKED(mission, flags) \
46
(mcd_mission_set_flags (mission, mcd_mission_get_flags (mission) | flags))
48
#define MCD_MISSION_UNSET_FLAGS_MASKED(mission, flags) \
49
(mcd_mission_set_flags (mission, mcd_mission_get_flags (mission) & (~flags)))
61
MCD_SYSTEM_CONNECTED = 1,
62
MCD_SYSTEM_MEMORY_CONSERVED = 1 << 1,
63
MCD_SYSTEM_POWER_CONSERVED = 1 << 2,
64
MCD_SYSTEM_SCREEN_BLANKED = 1 << 3,
65
MCD_SYSTEM_LOCKED = 1 << 4,
66
MCD_SYSTEM_IDLE = 1 << 5
69
typedef struct _McdMission McdMission;
70
typedef struct _McdMissionClass McdMissionClass;
77
struct _McdMissionClass
79
GObjectClass parent_class;
82
void (*parent_set_signal) (McdMission * mission, McdMission * parent);
83
void (*connected_signal) (McdMission * mission);
84
void (*disconnected_signal) (McdMission * mission);
86
void (*flags_changed_signal) (McdMission *mission, McdSystemFlags flags);
87
void (*mode_set_signal) (McdMission * mission, McdMode mode);
89
void (*abort_signal) (McdMission * mission);
92
void (*set_parent) (McdMission * mission, McdMission * parent);
94
void (*connect) (McdMission * mission);
95
void (*disconnect) (McdMission * mission);
97
void (*set_flags) (McdMission *mission, McdSystemFlags flags);
98
McdSystemFlags (*get_flags) (McdMission *mission);
100
void (*set_mode) (McdMission * mission, McdMode mode);
101
McdMode (*get_mode) (McdMission * mission);
103
void (*abort) (McdMission * mission);
106
GType mcd_mission_get_type (void);
107
McdMission *mcd_mission_new (void);
109
gboolean mcd_mission_is_connected (McdMission * mission);
111
McdMission *mcd_mission_get_parent (McdMission * mission);
113
void mcd_mission_abort (McdMission * mission);
114
void mcd_mission_set_parent (McdMission * mission, McdMission * parent);
116
void mcd_mission_connect (McdMission * mission);
117
void mcd_mission_disconnect (McdMission * mission);
119
void mcd_mission_set_flags (McdMission * mission, McdSystemFlags flags);
120
McdSystemFlags mcd_mission_get_flags (McdMission * mission);
122
void mcd_mission_set_mode (McdMission * mission, McdMode mode);
123
McdMode mcd_mission_get_mode (McdMission * mission);
126
#endif /* MCD_MISSION_H */