1.1 --- a/plover-gtk/package.c Fri Mar 23 20:29:50 2012 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,180 +0,0 @@
1.4 -/*
1.5 - * Copyright (C) 2010 J. Ali Harlow <ali@juiblex.co.uk>
1.6 - *
1.7 - * This program is free software; you can redistribute it and/or modify
1.8 - * it under the terms of the GNU General Public License as published by
1.9 - * the Free Software Foundation; either version 2 of the License, or
1.10 - * (at your option) any later version.
1.11 - *
1.12 - * This program is distributed in the hope that it will be useful,
1.13 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
1.14 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1.15 - * GNU General Public License for more details.
1.16 - *
1.17 - * You should have received a copy of the GNU General Public License along
1.18 - * with this program; if not, write to the Free Software Foundation, Inc.,
1.19 - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1.20 - */
1.21 -
1.22 -#include "config.h"
1.23 -#include <stdlib.h>
1.24 -#include <string.h>
1.25 -#include <glib-object.h>
1.26 -#include <gtk/gtk.h>
1.27 -#include <razor.h>
1.28 -#include "plover-gtk/package.h"
1.29 -
1.30 -G_DEFINE_TYPE(PloverPackage,plover_package,G_TYPE_OBJECT);
1.31 -
1.32 -typedef struct _PloverPackagePrivate {
1.33 - struct razor_set *set;
1.34 - struct razor_package *pkg;
1.35 - PloverPackageFileStore *file_store;
1.36 -} PloverPackagePrivate;
1.37 -
1.38 -#define PLOVER_PACKAGE_GET_PRIVATE(obj)\
1.39 - G_TYPE_INSTANCE_GET_PRIVATE(obj,\
1.40 - PLOVER_TYPE_PACKAGE,PloverPackagePrivate)
1.41 -
1.42 -enum {
1.43 - CHANGED=0,
1.44 - N_SIGNALS
1.45 -};
1.46 -
1.47 -static guint signals[N_SIGNALS];
1.48 -
1.49 -static void plover_package_dispose(GObject *obj)
1.50 -{
1.51 - PloverPackagePrivate *priv=PLOVER_PACKAGE_GET_PRIVATE(obj);
1.52 - if (priv->file_store)
1.53 - {
1.54 - g_object_unref(priv->file_store);
1.55 - priv->file_store=NULL;
1.56 - }
1.57 - if (G_OBJECT_CLASS(plover_package_parent_class)->dispose)
1.58 - G_OBJECT_CLASS(plover_package_parent_class)->dispose(obj);
1.59 -}
1.60 -
1.61 -static void plover_package_class_init(PloverPackageClass *klass)
1.62 -{
1.63 - GObjectClass *oclass=G_OBJECT_CLASS(klass);
1.64 - oclass->dispose=plover_package_dispose;
1.65 - g_type_class_add_private(klass,sizeof(PloverPackagePrivate));
1.66 - signals[CHANGED]=g_signal_newv("changed",
1.67 - G_TYPE_FROM_CLASS(klass),G_SIGNAL_RUN_LAST,NULL,NULL,NULL,
1.68 - g_cclosure_marshal_VOID__VOID,G_TYPE_NONE,0,NULL);
1.69 -}
1.70 -
1.71 -static void plover_package_init(PloverPackage *package)
1.72 -{
1.73 -}
1.74 -
1.75 -PloverPackage *plover_package_new(struct razor_set *set,
1.76 - struct razor_package *pkg)
1.77 -{
1.78 - PloverPackage *package;
1.79 - PloverPackagePrivate *priv;
1.80 - package=g_object_new(PLOVER_TYPE_PACKAGE,NULL);
1.81 - priv=PLOVER_PACKAGE_GET_PRIVATE(package);
1.82 - priv->set=set;
1.83 - priv->pkg=pkg;
1.84 - return package;
1.85 -}
1.86 -
1.87 -const char *plover_package_get_name(PloverPackage *package)
1.88 -{
1.89 - PloverPackagePrivate *priv;
1.90 - const char *name=NULL;
1.91 - g_return_val_if_fail(PLOVER_IS_PACKAGE(package),NULL);
1.92 - priv=PLOVER_PACKAGE_GET_PRIVATE(package);
1.93 - razor_package_get_details(priv->set,priv->pkg,RAZOR_DETAIL_NAME,&name,
1.94 - RAZOR_DETAIL_LAST);
1.95 - return name;
1.96 -}
1.97 -
1.98 -const char *plover_package_get_summary(PloverPackage *package)
1.99 -{
1.100 - PloverPackagePrivate *priv;
1.101 - const char *summary=NULL;
1.102 - g_return_val_if_fail(PLOVER_IS_PACKAGE(package),NULL);
1.103 - priv=PLOVER_PACKAGE_GET_PRIVATE(package);
1.104 - razor_package_get_details(priv->set,priv->pkg,RAZOR_DETAIL_SUMMARY,&summary,
1.105 - RAZOR_DETAIL_LAST);
1.106 - return summary;
1.107 -}
1.108 -
1.109 -const char *plover_package_get_version(PloverPackage *package)
1.110 -{
1.111 - PloverPackagePrivate *priv;
1.112 - const char *version=NULL;
1.113 - g_return_val_if_fail(PLOVER_IS_PACKAGE(package),NULL);
1.114 - priv=PLOVER_PACKAGE_GET_PRIVATE(package);
1.115 - razor_package_get_details(priv->set,priv->pkg,RAZOR_DETAIL_VERSION,&version,
1.116 - RAZOR_DETAIL_LAST);
1.117 - return version;
1.118 -}
1.119 -
1.120 -const char *plover_package_get_license(PloverPackage *package)
1.121 -{
1.122 - PloverPackagePrivate *priv;
1.123 - const char *license=NULL;
1.124 - g_return_val_if_fail(PLOVER_IS_PACKAGE(package),NULL);
1.125 - priv=PLOVER_PACKAGE_GET_PRIVATE(package);
1.126 - razor_package_get_details(priv->set,priv->pkg,RAZOR_DETAIL_LICENSE,&license,
1.127 - RAZOR_DETAIL_LAST);
1.128 - return license;
1.129 -}
1.130 -
1.131 -const char *plover_package_get_arch(PloverPackage *package)
1.132 -{
1.133 - PloverPackagePrivate *priv;
1.134 - const char *arch=NULL;
1.135 - g_return_val_if_fail(PLOVER_IS_PACKAGE(package),NULL);
1.136 - priv=PLOVER_PACKAGE_GET_PRIVATE(package);
1.137 - razor_package_get_details(priv->set,priv->pkg,RAZOR_DETAIL_ARCH,&arch,
1.138 - RAZOR_DETAIL_LAST);
1.139 - return arch;
1.140 -}
1.141 -
1.142 -const char *plover_package_get_description(PloverPackage *package)
1.143 -{
1.144 - PloverPackagePrivate *priv;
1.145 - const char *description=NULL;
1.146 - g_return_val_if_fail(PLOVER_IS_PACKAGE(package),NULL);
1.147 - priv=PLOVER_PACKAGE_GET_PRIVATE(package);
1.148 - razor_package_get_details(priv->set,priv->pkg,RAZOR_DETAIL_DESCRIPTION,
1.149 - &description,RAZOR_DETAIL_LAST);
1.150 - return description;
1.151 -}
1.152 -
1.153 -const char *plover_package_get_URL(PloverPackage *package)
1.154 -{
1.155 - PloverPackagePrivate *priv;
1.156 - const char *URL=NULL;
1.157 - g_return_val_if_fail(PLOVER_IS_PACKAGE(package),NULL);
1.158 - priv=PLOVER_PACKAGE_GET_PRIVATE(package);
1.159 - razor_package_get_details(priv->set,priv->pkg,RAZOR_DETAIL_URL,&URL,
1.160 - RAZOR_DETAIL_LAST);
1.161 - return URL;
1.162 -}
1.163 -
1.164 -GdkPixbuf *plover_package_get_icon(PloverPackage *package)
1.165 -{
1.166 - g_return_val_if_fail(PLOVER_IS_PACKAGE(package),NULL);
1.167 - return NULL;
1.168 -}
1.169 -
1.170 -PloverPackageFileStore *plover_package_get_file_store(PloverPackage *package)
1.171 -{
1.172 - PloverPackagePrivate *priv;
1.173 - struct razor_file_iterator *iter;
1.174 - g_return_val_if_fail(PLOVER_IS_PACKAGE(package),NULL);
1.175 - priv=PLOVER_PACKAGE_GET_PRIVATE(package);
1.176 - if (!priv->file_store)
1.177 - {
1.178 - iter=razor_file_iterator_create(priv->set,priv->pkg,0);
1.179 - priv->file_store=plover_package_file_store_new(iter);
1.180 - razor_file_iterator_destroy(iter);
1.181 - }
1.182 - return priv->file_store;
1.183 -}