summaryrefslogtreecommitdiff
path: root/include/session.h
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2012-09-26 13:52:30 +0200
committerDaniel Wagner <daniel.wagner@bmw-carit.de>2012-09-27 10:28:28 +0200
commitfb0a3539dfaa843d1c7369a08507629a17aabee9 (patch)
tree0abb3164f19f4a1490a63ae436baf0e3524bf1cc /include/session.h
parentebf6aa36dd34c7dabdca48bd64dc6297f102ad1e (diff)
downloadconnman-fb0a3539dfaa843d1c7369a08507629a17aabee9.tar.gz
session: Move configuration bits to a public struct
Instead of passing basic datatypes between the session core and the policy plugin, provide a complex data structure which holds the session configuration.
Diffstat (limited to 'include/session.h')
-rw-r--r--include/session.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/session.h b/include/session.h
index edf9028b..6f3439ba 100644
--- a/include/session.h
+++ b/include/session.h
@@ -33,6 +33,21 @@ extern "C" {
#define CONNMAN_SESSION_POLICY_PRIORITY_DEFAULT 0
#define CONNMAN_SESSION_POLICY_PRIORITY_HIGH 100
+enum connman_session_roaming_policy {
+ CONNMAN_SESSION_ROAMING_POLICY_UNKNOWN = 0,
+ CONNMAN_SESSION_ROAMING_POLICY_DEFAULT = 1,
+ CONNMAN_SESSION_ROAMING_POLICY_ALWAYS = 2,
+ CONNMAN_SESSION_ROAMING_POLICY_FORBIDDEN = 3,
+ CONNMAN_SESSION_ROAMING_POLICY_NATIONAL = 4,
+ CONNMAN_SESSION_ROAMING_POLICY_INTERNATIONAL = 5,
+};
+
+enum connman_session_type {
+ CONNMAN_SESSION_TYPE_ANY = 0,
+ CONNMAN_SESSION_TYPE_LOCAL = 1,
+ CONNMAN_SESSION_TYPE_INTERNET = 2,
+};
+
struct connman_session;
struct connman_session_bearer {
@@ -41,6 +56,14 @@ struct connman_session_bearer {
enum connman_service_type service_type;
};
+struct connman_session_config {
+ connman_bool_t priority;
+ enum connman_session_roaming_policy roaming_policy;
+ enum connman_session_type type;
+ connman_bool_t ecall;
+ GSList *allowed_bearers;
+};
+
struct connman_session_policy {
const char *name;
int priority;