1d012387afef0ba02185ebe27bc6bb15551912e92Havoc Pennington/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington/* dbus-message-factory.h Generator of valid and invalid message data for test suite
3330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington *
4330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * Copyright (C) 2005 Red Hat Inc.
5330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington *
6330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * Licensed under the Academic Free License version 2.1
7330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington *
8330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * This program is free software; you can redistribute it and/or modify
9330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * it under the terms of the GNU General Public License as published by
10330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * the Free Software Foundation; either version 2 of the License, or
11330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * (at your option) any later version.
12330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington *
13330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * This program is distributed in the hope that it will be useful,
14330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * but WITHOUT ANY WARRANTY; without even the implied warranty of
15330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * GNU General Public License for more details.
17330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington *
18330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * You should have received a copy of the GNU General Public License
19330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington * along with this program; if not, write to the Free Software
205baf2f856a9c6625993234855b07680da1c8916fTobias Mueller * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
21330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington *
22330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington */
23330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
24330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington#ifndef DBUS_MESSAGE_FACTORY_H
25330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington#define DBUS_MESSAGE_FACTORY_H
26330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
27330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington#ifdef DBUS_BUILD_TESTS
28330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
29330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington#include <dbus/dbus-string.h>
30330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington#include <dbus/dbus-marshal-basic.h>
31330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington#include <dbus/dbus-marshal-validate.h>
32330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
33330ae27487375e2feadb77e90930f3b250ed7952Havoc PenningtonDBUS_BEGIN_DECLS
34330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
35330ae27487375e2feadb77e90930f3b250ed7952Havoc Penningtontypedef struct
36330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington{
37330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington  DBusValidity expected_validity;
38330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
39330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington  DBusString data;
40330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
41330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington} DBusMessageData;
42330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
4372c433f80ba964f03688b61ff754b1c93d0fb4adHavoc Pennington#define _DBUS_MESSAGE_DATA_MAX_NESTING 10
44330ae27487375e2feadb77e90930f3b250ed7952Havoc Penningtontypedef struct
45330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington{
4672c433f80ba964f03688b61ff754b1c93d0fb4adHavoc Pennington  int sequence_nos[_DBUS_MESSAGE_DATA_MAX_NESTING];
4772c433f80ba964f03688b61ff754b1c93d0fb4adHavoc Pennington  int depth;
480e53d4eed36f378e99802e516fbb0d1355641902Havoc Pennington  int count;
49330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington} DBusMessageDataIter;
50330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
51330ae27487375e2feadb77e90930f3b250ed7952Havoc Penningtonvoid        _dbus_message_data_free              (DBusMessageData     *data);
52330ae27487375e2feadb77e90930f3b250ed7952Havoc Penningtonvoid        _dbus_message_data_iter_init         (DBusMessageDataIter *iter);
53330ae27487375e2feadb77e90930f3b250ed7952Havoc Penningtondbus_bool_t _dbus_message_data_iter_get_and_next (DBusMessageDataIter *iter,
54330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington                                                  DBusMessageData     *data);
55330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
56330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
57330ae27487375e2feadb77e90930f3b250ed7952Havoc PenningtonDBUS_END_DECLS
58330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
59330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington#endif /* DBUS_BUILD_TESTS */
60330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington
61330ae27487375e2feadb77e90930f3b250ed7952Havoc Pennington#endif /* DBUS_MESSAGE_FACTORY_H */
62