parse.h
author Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Tue, 25 May 2010 16:44:52 +0200
changeset 5 2155c65c7455
parent 1 6a9a25d32364
child 6 a035ec60dc7f
permissions -rw-r--r--
Use gchar/g_strdump instead of char/strcpy. Add an empty config.h.in.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
     1
#ifndef __PARSE_H__
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
     2
#define __PARSE_H__ 1
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
     3
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
     4
#include <glib.h>
1
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     5
#include <loudmouth/loudmouth.h>
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     6
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     7
#define PARSE_OK                    0
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     8
#define PARSE_ERROR_NAME            1
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
     9
#define PARSE_ERROR_REQUIRED        2
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    10
#define PARSE_ERROR_RESTRICTION     3
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    11
#define PARSE_ERROR_TOO_MANY_CHILDS 4
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    12
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    13
struct info_iq {
5
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    14
  gchar* from;
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    15
  gchar* id;
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    16
  gchar* to;
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    17
  gchar* set;
1
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    18
};
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    19
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    20
struct info_jingle {
5
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    21
  gchar* action;      // required (content-accept, content-add,
1
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    22
  // content-modify, content-reject, content-remove, description-info
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    23
  // security-info, session-accept, session-info, session-initiate,
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    24
  // session-terminate, transport-accept, transport-info, transport-reject,
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    25
  // transport-replace)
5
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    26
  gchar* initiator;   // optional
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    27
  gchar* responder;   // optional
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    28
  gchar* sid;         // required
1
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    29
};
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    30
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    31
struct info_content {
5
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    32
  gchar* creator;     // required (initiator, responder)
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    33
  gchar* disposition; // optional, default=session
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    34
  gchar* name;        // required
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    35
  gchar* senders;     // optional (both, initiator, none, responder)
1
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    36
};
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    37
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    38
int parse_jingle(LmMessageNode* node, struct info_jingle* ij);
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    39
void free_jingle(struct info_jingle* ij);
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    40
int parse_content(LmMessageNode* node, struct info_content* ic);
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    41
void free_content(struct info_content* ic);
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    42
5
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    43
int check_restriction(const char* name, const char** values);
1
6a9a25d32364 Add the parser of node and the CMakeList.txt
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents:
diff changeset
    44
5
2155c65c7455 Use gchar/g_strdump instead of char/strcpy.
Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
parents: 1
diff changeset
    45
#endif