Port ConnectionManager to Vala
This commit is contained in:
parent
5fc195d972
commit
2e5b5715ef
@ -3,9 +3,14 @@ CLEANFILES = $(BUILT_SOURCES) $(man_MANS)
|
||||
|
||||
libexec_PROGRAMS = telepathy-cauchy
|
||||
|
||||
AM_VALAFLAGS = -C --pkg=telepathy-glib
|
||||
AM_VALAFLAGS = \
|
||||
-C \
|
||||
tp-base.vapi \
|
||||
--pkg=telepathy-glib \
|
||||
$(NULL)
|
||||
|
||||
libtp_cauchy_convenience_la_VALA_SOURCES = \
|
||||
cauchy-connection-manager.vala \
|
||||
$(NULL)
|
||||
|
||||
vala-stamp: $(libtp_cauchy_convenience_la_VALA_SOURCES)
|
||||
@ -33,8 +38,6 @@ $(libtp_cauchy_convenience_la_VALA_SOURCES:.vala=.c): vala-stamp
|
||||
|
||||
libcauchy_convenience_la_SOURCES = \
|
||||
$(libtp_cauchy_convenience_la_VALA_SOURCES:.vala=.c) \
|
||||
cauchy-connection-manager.c \
|
||||
cauchy-connection-manager.h \
|
||||
cauchy-connection.c \
|
||||
cauchy-connection.h \
|
||||
cauchy-protocol.c \
|
||||
|
@ -1,64 +0,0 @@
|
||||
/*
|
||||
* This file is part of telepathy-cauchy
|
||||
*
|
||||
* telepathy-cauchy is free software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation, either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* telepathy-cauchy 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with telepathy-cauchy. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "cauchy-connection-manager.h"
|
||||
#include "cauchy-protocol.h"
|
||||
#include "cauchy-debug.h"
|
||||
|
||||
G_DEFINE_TYPE(CauchyConnectionManager, cauchy_connection_manager, TP_TYPE_BASE_CONNECTION_MANAGER);
|
||||
|
||||
static void
|
||||
cauchy_connection_manager_finalize(GObject *gobject)
|
||||
{
|
||||
cauchy_debug_free();
|
||||
|
||||
G_OBJECT_CLASS(cauchy_connection_manager_parent_class)->finalize(gobject);
|
||||
}
|
||||
|
||||
static void
|
||||
cauchy_connection_manager_constructed(GObject *gobject)
|
||||
{
|
||||
TpBaseConnectionManager *base = (TpBaseConnectionManager *)gobject;
|
||||
TpBaseProtocol *p;
|
||||
void (*constructed)(GObject *) = ((GObjectClass *)cauchy_connection_manager_parent_class)->constructed;
|
||||
|
||||
if (constructed != NULL) {
|
||||
constructed(gobject);
|
||||
}
|
||||
|
||||
p = cauchy_protocol_new();
|
||||
tp_base_connection_manager_add_protocol(base, p);
|
||||
g_object_unref(p);
|
||||
}
|
||||
|
||||
static void
|
||||
cauchy_connection_manager_class_init(CauchyConnectionManagerClass *klass)
|
||||
{
|
||||
GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
|
||||
TpBaseConnectionManagerClass *parent_class = TP_BASE_CONNECTION_MANAGER_CLASS(klass);
|
||||
|
||||
parent_class->cm_dbus_name = "cauchy";
|
||||
|
||||
gobject_class->finalize = cauchy_connection_manager_finalize;
|
||||
gobject_class->constructed = cauchy_connection_manager_constructed;
|
||||
}
|
||||
|
||||
static void
|
||||
cauchy_connection_manager_init(CauchyConnectionManager *connection_manager)
|
||||
{
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
/*
|
||||
* This file is part of telepathy-cauchy
|
||||
*
|
||||
* telepathy-cauchy is free software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation, either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* telepathy-cauchy 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with telepathy-cauchy. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __CAUCHY_CONNECTION_MANAGER_H__
|
||||
#define __CAUCHY_CONNECTION_MANAGER_H__
|
||||
|
||||
#include <glib-object.h>
|
||||
#include <telepathy-glib/telepathy-glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/* TYPE MACROS */
|
||||
|
||||
#define CAUCHY_TYPE_CONNECTION_MANAGER (cauchy_connection_manager_get_type())
|
||||
#define CAUCHY_CONNECTION_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST((o), CAUCHY_TYPE_CONNECTION_MANAGER, CauchyConnectionManager))
|
||||
#define CAUCHY_CONNECTION_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), CAUCHY_TYPE_CONNECTION_MANAGER, CauchyConnectionManagerClass))
|
||||
#define CAUCHY_IS_CONNECTION_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), CAUCHY_TYPE_CONNECTION_MANAGER))
|
||||
#define CAUCHY_IS_CONNECTION_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), CAUCHY_TYPE_CONNECTION_MANAGER))
|
||||
#define CAUCHY_CONNECTION_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), CAUCHY_TYPE_CONNECTION_MANAGER, CauchyConnectionManagerClass))
|
||||
|
||||
typedef struct _CauchyConnectionManager CauchyConnectionManager;
|
||||
typedef struct _CauchyConnectionManagerClass CauchyConnectionManagerClass;
|
||||
|
||||
struct _CauchyConnectionManagerClass {
|
||||
TpBaseConnectionManagerClass parent_class;
|
||||
};
|
||||
|
||||
struct _CauchyConnectionManager {
|
||||
/* Parent instance structure */
|
||||
TpBaseConnection parent;
|
||||
|
||||
/* Instance members */
|
||||
};
|
||||
|
||||
GType cauchy_connection_manager_get_type(void) G_GNUC_CONST;
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __CAUCHY_CONNECTION_MANAGER_H__ */
|
30
src/cauchy-connection-manager.vala
Normal file
30
src/cauchy-connection-manager.vala
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* This file is part of telepathy-cauchy
|
||||
*
|
||||
* telepathy-cauchy is free software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation, either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* telepathy-cauchy 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with telepathy-cauchy. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using TelepathyGLib;
|
||||
|
||||
[DBUS (name = "org.freedesktop.Telepathy.ConnectionManager.cauchy")]
|
||||
public class Cauchy.ConnectionManager : BaseConnectionManager {
|
||||
class construct {
|
||||
cm_dbus_name = "cauchy";
|
||||
}
|
||||
|
||||
// construct {
|
||||
// add_protocol(new Protocol());
|
||||
// }
|
||||
}
|
32
src/tp-base.vapi
Normal file
32
src/tp-base.vapi
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* This file is part of telepathy-cauchy
|
||||
*
|
||||
* telepathy-cauchy is free software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation, either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* telepathy-cauchy 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with telepathy-cauchy. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace TelepathyGLib {
|
||||
public abstract class BaseProtocol {}
|
||||
|
||||
[CCode (cheader_filename = "telepathy-glib/telepathy-glib.h")]
|
||||
public abstract class BaseConnectionManager : GLib.Object {
|
||||
public class string cm_dbus_name;
|
||||
|
||||
[CCode (has_construct_function = false)]
|
||||
public BaseConnectionManager();
|
||||
|
||||
public void
|
||||
add_protocol(BaseProtocol protocol);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user