check.h
author Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Tue, 01 Jun 2010 11:51:25 +0200
changeset 12 eb167636e5bc
child 13 4e6245ccd73c
permissions -rw-r--r--
Use GError to pass errors, rename parse.c in check.c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     1
#ifndef __PARSE_H__
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     2
#define __PARSE_H__ 1
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     3
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     4
#include <glib.h>
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     5
#include <loudmouth/loudmouth.h>
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     6
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     7
#include "jingle.h"
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     8
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     9
#define JINGLE_CHECK_ERROR jingle_check_error_quark()
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    10
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    11
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    12
typedef enum {
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    13
  JINGLE_CHECK_ERROR_MISSING,  // an element or attribute is missing
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    14
  JINGLE_CHECK_ERROR_BADELEM,  // an element is not where it is supposed to be
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    15
  JINGLE_CHECK_ERROR_BADVALUE  // the value of an attribute is incorrect
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    16
} JingleCheckError;
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    17
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    18
typedef struct {
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    19
  JingleAction action;
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    20
  const gchar* initiator; // optional
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    21
  const gchar* responder; // optional
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    22
  const gchar* sid;       // required
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    23
} JingleData;
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    24
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    25
typedef struct {
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    26
  const gchar* creator;     // required (initiator, responder)
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    27
  const gchar* disposition; // optional, default=session
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    28
  const gchar* name;        // required
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    29
  const gchar* senders;     // optional (both, initiator, none, responder)
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    30
} ContentData;
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    31
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    32
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    33
int check_jingle(LmMessageNode* node, JingleData *jd, GError **err);
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    34
GQuark jingle_check_error_quark();
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    35
eb167636e5bc Use GError to pass errors, rename parse.c in check.c
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    36
#endif