summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@src.gnome.org>2007-04-12 17:31:56 +0000
committerShaun McCance <shaunm@src.gnome.org>2007-04-12 17:31:56 +0000
commit016f1e4c0a50bad7b3f814cee5e30e4984ff47db (patch)
treee4759636f55c73af62ade5187bf4bdbff5e1588d
parent08457617ea71d3d02c3f66e74034076653636152 (diff)
downloadyelp-016f1e4c0a50bad7b3f814cee5e30e4984ff47db.tar.gz
- Added preliminary support for mime types in yelp-page
* src/yelp-document.c: * src/yelp-page.c: * src/yelp-page.h: - Added preliminary support for mime types in yelp-page svn path=/branches/yelp-document/; revision=2801
-rw-r--r--ChangeLog7
-rw-r--r--src/yelp-document.c4
-rw-r--r--src/yelp-page.c5
-rw-r--r--src/yelp-page.h9
4 files changed, 22 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 727c2143..58b284ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2007-04-12 Shaun McCance <shaunm@gnome.org>
+ * src/yelp-document.c:
+ * src/yelp-page.c:
+ * src/yelp-page.h:
+ - Added preliminary support for mime types in yelp-page
+
+2007-04-12 Shaun McCance <shaunm@gnome.org>
+
* src/yelp-man-parser.c:
* src/Makefile.am:
- Made yelp-man-parser use yelp-debug
diff --git a/src/yelp-document.c b/src/yelp-document.c
index ab518bbc..07a5f063 100644
--- a/src/yelp-document.c
+++ b/src/yelp-document.c
@@ -598,9 +598,11 @@ request_idle_page (Request *request)
req_id = request->req_id;
user_data = request->user_data;
+ /* FIXME: there will come a day when we can't just assume XHTML */
page = yelp_page_new_string (YELP_DOCUMENT (request->document),
request->page_id,
- str_ref (contents));
+ str_ref (contents),
+ YELP_PAGE_MIME_XHTML);
tmp = g_hash_table_lookup (priv->prev_ids, request->page_id);
if (tmp)
page->prev_id = g_strdup (tmp);
diff --git a/src/yelp-page.c b/src/yelp-page.c
index 9b2956d8..1a3e6b9b 100644
--- a/src/yelp-page.c
+++ b/src/yelp-page.c
@@ -41,12 +41,15 @@ static GIOStatus page_read_file (YelpPage *page,
YelpPage *
yelp_page_new_string (YelpDocument *document,
gchar *id,
- const gchar *content)
+ const gchar *content,
+ YelpPageMime mime)
{
YelpPage *page;
page = g_slice_new0 (YelpPage);
+ page->mime = mime;
+
if (document)
page->document = g_object_ref (document);
page->source = YELP_PAGE_SOURCE_STRING;
diff --git a/src/yelp-page.h b/src/yelp-page.h
index 249282fb..f4428fad 100644
--- a/src/yelp-page.h
+++ b/src/yelp-page.h
@@ -32,6 +32,11 @@
G_BEGIN_DECLS
typedef enum {
+ YELP_PAGE_MIME_HTML,
+ YELP_PAGE_MIME_XHTML
+} YelpPageMime;
+
+typedef enum {
YELP_PAGE_SOURCE_STRING,
YELP_PAGE_SOURCE_FILE
} YelpPageSource;
@@ -44,6 +49,7 @@ typedef struct _YelpPage YelpPage;
struct _YelpPage {
YelpDocument *document;
YelpPageSource source;
+ YelpPageMime mime;
gchar *title;
@@ -65,7 +71,8 @@ struct _YelpPage {
YelpPage * yelp_page_new_string (YelpDocument *document,
gchar *id,
- const gchar *content);
+ const gchar *content,
+ YelpPageMime mime);
GIOStatus yelp_page_read (YelpPage *page,
gchar *buffer,