Add stub functions for Glk 0.7.4 API
authorPhilip Chimento <philip.chimento@gmail.com>
Sat, 11 Feb 2012 10:21:59 +0000 (11:21 +0100)
committerPhilip Chimento <philip.chimento@gmail.com>
Sat, 11 Feb 2012 10:21:59 +0000 (11:21 +0100)
Technically, we implement the spec now by having the gestalt function
claim that the functions do nothing.

libchimara/gestalt.c
libchimara/stream.c

index bf60e871fb3155882ea39febe8746db28d047803..55ff57c797bd210340c8189db253213a0d7f2288 100644 (file)
@@ -138,7 +138,8 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen)
 #endif
                        
                /* Unsupported capabilities */
-               /* none! */
+               case gestalt_ResourceStream:
+                       return 0;
 
                /* Selector not supported */    
                default:
index 96ab73fb08dcc97c8857541c0d91bafedbe7b33b..f9a6cf5bf4cea649c405ff7382dc8a5767276707 100644 (file)
@@ -488,6 +488,64 @@ glk_stream_open_file_uni(frefid_t fileref, glui32 fmode, glui32 rock)
        return file_stream_new(fileref, fmode, rock, TRUE);
 }
 
+/**
+ * glk_stream_open_resource:
+ * @filenum: Resource chunk number to open.
+ * @rock: The new stream's rock value.
+ *
+ * Open the given data resource for reading (only), as a normal stream.
+ *
+ * <note><para>
+ *   Note that there is no notion of file usage &mdash; the resource does not
+ *   have to be specified as <quote>saved game</quote> or whatever.
+ * </para></note>
+ *
+ * If no resource chunk of the given number exists, the open function returns
+ * %NULL.
+ *
+ * As with file streams, a binary resource stream reads the resource as bytes. A
+ * text resource stream reads characters encoded as Latin-1.
+ *
+ * When reading from a resource stream, newlines are not remapped, even if they
+ * normally would be when reading from a text file on the host OS. If you read a
+ * line (glk_get_line_stream() or glk_get_line_stream_uni()), a Unix newline
+ * (0x0A) terminates the line.
+ *
+ * Returns: the new stream, or %NULL.
+ */
+strid_t
+glk_stream_open_resource(glui32 filenum, glui32 rock)
+{
+       g_warning("Not implemented");
+       return NULL;
+}
+
+/**
+ * glk_stream_open_resource_uni:
+ * @filenum: Resource chunk number to open.
+ * @rock: The new stream's rock value.
+ *
+ * Open the given data resource for reading (only), as a Unicode stream. See
+ * glk_stream_open_resource() for more information.
+ *
+ * As with file streams, a binary resource stream reads the resource as
+ * four-byte (big-endian) words. A text resource stream reads characters encoded
+ * as UTF-8.
+ *
+ * <note><para>
+ *   Thus, the difference between text and binary resources is only important
+ *   when opened as a Unicode stream.
+ * </para></note>
+ *
+ * Returns: the new stream, or %NULL.
+ */
+strid_t
+glk_stream_open_resource_uni(glui32 filenum, glui32 rock)
+{
+       g_warning("Not implemented");
+       return NULL;
+}
+
 /**
  * glk_stream_close:
  * @str: Stream to close.