Skip to content
Snippets Groups Projects
Select Git revision
  • d14e1d7e029761f01a2adee25861be9324fb0330
  • main default protected
  • tags/misc
  • tags/version-0.5r2
  • tags/version-0.6
  • tags/version-0.4
  • tags/version-0.5r1
  • tags/libxaal_v01
  • tags/generic-feedback-renderer_complexAPI
  • tags/testing-libsodium
  • tags/testing-nettle
  • tags/testing_ajax
  • tags/testing_clearsilver
  • tags/testing_jansson
  • tags/testing_jsmn
  • tags/testing_json-c
16 results

xaal_jc.h

Blame
  • xaal_jc.h 1.77 KiB
    /* libxaal_jc
     * Auxiliary json2cbor & cbor2json transcoders for xAAL
     *
     * (c) 2019 Christophe Lohr <christophe.lohr@imt-atlantique.fr>
     *
     * This program is free software: you can redistribute it and/or modify it
     * under the terms of the GNU Lesser General Public License as published by
     * the Free Software Foundation, either version 3 of the License, or (at
     * your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU Lesser General Public License for more details.
     *
     * You should have received a copy of the GNU Lesser General Public License
     * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     */
    
    
    #ifndef LIBXAAL_JC
    #define LIBXAAL_JC
    
    #define xAAL_JC_VERSION	"0.2"
    
    #include <cbor.h>
    #include <json-c/json.h>
    
    /*
     * cbor2json
     */
    
    /* Transcode a cbor bytestring into json string, with hexadecimal notation
     * Except bytestring[16] that are encoded as uuid (i.e. hexa with dash) */
    json_object *xAAL_bytestring2json(cbor_item_t *item);
    
    /* Do its best to transcode cbor data into json
     * Strings are converted as above, tags are ignored */
    json_object *xAAL_cbor2json(cbor_item_t *item);
    
    
    /*
     * json2cbor
     */
    
    /* Transcode a json string into cbor
     * Note: if the string represents an uuid, parse it and return a bytestring[16],
     * else return a cbor string */
    cbor_item_t *xAAL_jsonstring2cbor(json_object *jobj);
    
    /* Do its best to transcode json data into cbor
     * Strings are converted as above */
    cbor_item_t *xAAL_json2cbor(json_object *jobj);
    
    /* Explicitly transcode a base64 data json string into a cbor bytestring */
    cbor_item_t *xAAL_jsonb64_to_bytestring(json_object *jobj);
    
    
    #endif