Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/libdocument
diff options
context:
space:
mode:
Diffstat (limited to 'libdocument')
-rw-r--r--libdocument/ev-document.c13
-rw-r--r--libdocument/ev-document.h11
2 files changed, 24 insertions, 0 deletions
diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c
index c126293..edebe37 100644
--- a/libdocument/ev-document.c
+++ b/libdocument/ev-document.c
@@ -141,6 +141,7 @@ ev_document_class_init (EvDocumentClass *klass)
klass->get_page = ev_document_impl_get_page;
klass->get_info = ev_document_impl_get_info;
+ klass->get_backend_info = NULL;
g_object_class->finalize = ev_document_finalize;
}
@@ -423,6 +424,18 @@ ev_document_get_info (EvDocument *document)
return document->priv->info;
}
+gboolean
+ev_document_get_backend_info (EvDocument *document, EvDocumentBackendInfo *info)
+{
+ g_return_val_if_fail (EV_IS_DOCUMENT (document), FALSE);
+
+ EvDocumentClass *klass = EV_DOCUMENT_GET_CLASS (document);
+ if (klass->get_backend_info == NULL)
+ return FALSE;
+
+ return klass->get_backend_info (document, info);
+}
+
cairo_surface_t *
ev_document_render (EvDocument *document,
EvRenderContext *rc)
diff --git a/libdocument/ev-document.h b/libdocument/ev-document.h
index 89acbe6..f905377 100644
--- a/libdocument/ev-document.h
+++ b/libdocument/ev-document.h
@@ -66,6 +66,13 @@ typedef struct {
typedef struct _EvRectangle EvRectangle;
+typedef struct _EvDocumentBackendInfo EvDocumentBackendInfo;
+struct _EvDocumentBackendInfo
+{
+ const gchar *name;
+ const gchar *version;
+};
+
struct _EvDocument
{
GObject base;
@@ -96,6 +103,8 @@ struct _EvDocumentClass
cairo_surface_t * (* render) (EvDocument *document,
EvRenderContext *rc);
EvDocumentInfo * (* get_info) (EvDocument *document);
+ gboolean (* get_backend_info)(EvDocument *document,
+ EvDocumentBackendInfo *info);
};
GType ev_document_get_type (void) G_GNUC_CONST;
@@ -114,6 +123,8 @@ void ev_document_fc_mutex_unlock (void);
gboolean ev_document_fc_mutex_trylock (void);
EvDocumentInfo *ev_document_get_info (EvDocument *document);
+gboolean ev_document_get_backend_info (EvDocument *document,
+ EvDocumentBackendInfo *info);
gboolean ev_document_load (EvDocument *document,
const char *uri,
GError **error);