xmpedit

GTK+ editor for XMP metadata embedded in images
git clone https://code.djc.id.au/git/xmpedit/

vapi/genx.vapi (3033B) - raw

      1 /*
      2  * http://www.djc.id.au/blog/genx-vala
      3  * Released into the public domain
      4  */
      5 
      6 [CCode (cheader_filename = "genx-glib.h")]
      7 namespace Genx {
      8 
      9     [CCode (cname = "genxStatus", cprefix = "GENX_")]
     10     public enum Status {
     11         SUCCESS,
     12         BAD_UTF8,
     13         NON_XML_CHARACTER,
     14         BAD_NAME,
     15         ALLOC_FAILED,
     16         BAD_NAMESPACE_NAME,
     17         INTERNAL_ERROR,
     18         DUPLICATE_PREFIX,
     19         SEQUENCE_ERROR,
     20         NO_START_TAG,
     21         IO_ERROR,
     22         MISSING_VALUE,
     23         MALFORMED_COMMENT,
     24         XML_PI_TARGET,
     25         MALFORMED_PI,
     26         DUPLICATE_ATTRIBUTE,
     27         ATTRIBUTE_IN_DEFAULT_NAMESPACE,
     28         DUPLICATE_NAMESPACE,
     29         BAD_DEFAULT_DECLARATION
     30     }
     31     
     32     [Compact]
     33     [CCode (cname = "genxWriter_rec", free_function = "genxDispose")]
     34     public class Writer {
     35     
     36         [CCode (has_target = 0)]
     37         public delegate void* AllocCallback(void* user_data, int bytes);
     38         [CCode (has_target = 0)]
     39         public delegate void DeallocCallback(void* user_data, void* data);
     40         
     41         private static void* default_alloc(void* user_data, int bytes) {
     42             return GLib.malloc(bytes);
     43         }
     44         private static void default_dealloc(void* user_data, void* data) {
     45             GLib.free(data);
     46         }
     47         
     48         [CCode (cname = "genxNew")]
     49         public Writer(
     50                 AllocCallback alloc = default_alloc,
     51                 DeallocCallback dealloc = default_dealloc,
     52                 void* user_data = null);
     53         
     54         public unowned Namespace declare_namespace(string uri, string prefix);
     55         
     56         public unowned Element declare_element(Namespace ns, string type);
     57         
     58         public unowned Attribute declare_attribute(Namespace ns, string name);
     59         
     60         [CCode (cname = "genx_writer_start_doc_gstring")]
     61         public void start_doc(GLib.StringBuilder output);
     62         
     63         public void end_document();
     64         
     65         public void comment(string text);
     66         
     67         public void pi(string target, string text);
     68         
     69         public void start_element_literal(string xmlns, string type);
     70         
     71         public void add_attribute_literal(string xmlns, string name, string value);
     72         
     73         public void unset_default_namespace();
     74         
     75         public void end_element();
     76         
     77         public void add_text(string text);
     78         
     79         public void add_character(int character);
     80     
     81     }
     82     
     83     [Compact]
     84     [CCode (cname = "struct genxNamespace_rec", free_function = "NAMESPACE_HAS_NO_PUBLIC_FREE")]
     85     public class Namespace {
     86     
     87         public void add(string? prefix = null);
     88     
     89     }
     90     
     91     [Compact]
     92     [CCode (cname = "struct genxElement_rec", free_function = "ELEMENT_HAS_NO_PUBLIC_FREE")]
     93     public class Element {
     94     
     95         public void start();
     96     
     97     }
     98         
     99     [Compact]
    100     [CCode (cname = "struct genxAttribute_rec", free_function = "ATTRIBUTE_HAS_NO_PUBLIC_FREE")]
    101     public class Attribute {
    102     
    103         public void add(string value);
    104     
    105     }
    106 
    107 }