*
* Connection Manager
*
- * Copyright (C) 2007-2010 Intel Corporation. All rights reserved.
+ * Copyright (C) 2007-2012 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
#ifndef __CONNMAN_PROVIDER_H
#define __CONNMAN_PROVIDER_H
+#include <glib.h>
#include <connman/types.h>
#ifdef __cplusplus
struct connman_provider;
struct connman_ipaddress;
-struct connman_provider *connman_provider_ref(struct connman_provider *provider);
-void connman_provider_unref(struct connman_provider *provider);
+#define connman_provider_ref(provider) \
+ connman_provider_ref_debug(provider, __FILE__, __LINE__, __func__)
+
+#define connman_provider_unref(provider) \
+ connman_provider_unref_debug(provider, __FILE__, __LINE__, __func__)
+
+struct connman_provider *
+connman_provider_ref_debug(struct connman_provider *provider,
+ const char *file, int line, const char *caller);
+void connman_provider_unref_debug(struct connman_provider *provider,
+ const char *file, int line, const char *caller);
int connman_provider_set_string(struct connman_provider *provider,
const char *key, const char *value);
const char *key, const char *value);
const char *connman_provider_get_driver_name(struct connman_provider *provider);
+const char *connman_provider_get_save_group(struct connman_provider *provider);
struct connman_provider_driver {
const char *name;
int (*remove) (struct connman_provider *provider);
int (*connect) (struct connman_provider *provider);
int (*disconnect) (struct connman_provider *provider);
+ int (*save) (struct connman_provider *provider, GKeyFile *keyfile);
};
int connman_provider_driver_register(struct connman_provider_driver *driver);