/* plugin.c generated by valac 0.14.2, the Vala compiler
 * generated from plugin.vala, do not modify */

/*
 * Copyright (C) 2009-2011 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.

 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 *
 */

#include <glib.h>
#include <glib-object.h>
#include <fsogsm.h>
#include <stdlib.h>
#include <string.h>
#include <fsoframework.h>
#include <fsobasics.h>


#define PDP_TYPE_PPP (pdp_ppp_get_type ())
#define PDP_PPP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PDP_TYPE_PPP, PdpPpp))
#define PDP_PPP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PDP_TYPE_PPP, PdpPppClass))
#define PDP_IS_PPP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PDP_TYPE_PPP))
#define PDP_IS_PPP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PDP_TYPE_PPP))
#define PDP_PPP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PDP_TYPE_PPP, PdpPppClass))

typedef struct _PdpPpp PdpPpp;
typedef struct _PdpPppClass PdpPppClass;
typedef struct _PdpPppPrivate PdpPppPrivate;

struct _PdpPpp {
	FsoGsmAtPdpHandler parent_instance;
	PdpPppPrivate * priv;
};

struct _PdpPppClass {
	FsoGsmAtPdpHandlerClass parent_class;
};


static gpointer pdp_ppp_parent_class = NULL;
static GType pdp_ppp_type_id = 0;

GType pdp_ppp_get_type (void) G_GNUC_CONST;
GType pdp_ppp_register_type (GTypeModule * module);
enum  {
	PDP_PPP_DUMMY_PROPERTY
};
#define PDP_PPP_MODULE_NAME "fsogsm.pdp_ppp"
static gchar* pdp_ppp_real_repr (FsoFrameworkAbstractObject* base);
PdpPpp* pdp_ppp_new (void);
PdpPpp* pdp_ppp_construct (GType object_type);
gchar* fso_factory_function (FsoFrameworkSubsystem* subsystem, GError** error);
void fso_register_function (GTypeModule* module);


static gchar* pdp_ppp_real_repr (FsoFrameworkAbstractObject* base) {
	PdpPpp * self;
	gchar* result = NULL;
	gchar* _tmp0_;
	self = (PdpPpp*) base;
	_tmp0_ = g_strdup ("<>");
	result = _tmp0_;
	return result;
}


PdpPpp* pdp_ppp_construct (GType object_type) {
	PdpPpp * self = NULL;
	self = (PdpPpp*) fso_gsm_at_pdp_handler_construct (object_type);
	return self;
}


PdpPpp* pdp_ppp_new (void) {
	return pdp_ppp_construct (PDP_TYPE_PPP);
}


static void pdp_ppp_class_init (PdpPppClass * klass) {
	pdp_ppp_parent_class = g_type_class_peek_parent (klass);
	FSO_FRAMEWORK_ABSTRACT_OBJECT_CLASS (klass)->repr = pdp_ppp_real_repr;
}


static void pdp_ppp_instance_init (PdpPpp * self) {
}


GType pdp_ppp_get_type (void) {
	return pdp_ppp_type_id;
}


GType pdp_ppp_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (PdpPppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pdp_ppp_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PdpPpp), 0, (GInstanceInitFunc) pdp_ppp_instance_init, NULL };
	pdp_ppp_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_AT_PDP_HANDLER, "PdpPpp", &g_define_type_info, 0);
	return pdp_ppp_type_id;
}


/**
 * This function gets called on plugin initialization time.
 * @return the name of your plugin here
 * @note that it needs to be a name in the format <subsystem>.<plugin>
 * else your module will be unloaded immediately.
 **/
gchar* fso_factory_function (FsoFrameworkSubsystem* subsystem, GError** error) {
	gchar* result = NULL;
	FsoFrameworkLogger* _tmp0_;
	gchar* _tmp1_;
	g_return_val_if_fail (subsystem != NULL, NULL);
	_tmp0_ = fso_framework_theLogger;
	fso_framework_logger_debug (_tmp0_, "pdp_ppp fso_factory_function");
	_tmp1_ = g_strdup (PDP_PPP_MODULE_NAME);
	result = _tmp1_;
	return result;
}


void fso_register_function (GTypeModule* module) {
	g_return_if_fail (module != NULL);
	pdp_ppp_register_type (module);
}



