summaryrefslogtreecommitdiff
path: root/src/test/DBusTestUtils.h
blob: 4c1d3afa4d4ee7a0a620b59dccb1ca66e67d122a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/* Copyright (C) 2013 BMW Group
 * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
 * Author: Juergen Gehring (juergen.gehring@bmw.de)
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef __DBUS_TEST_UTILS__
#define __DBUS_TEST_UTILS__

#include <dbus/dbus.h>
#include <CommonAPI/DBus/DBusServiceRegistry.h>

inline char eliminateZeroes(char val) {
    return !val ? '0' : val;
}


inline void printLibdbusMessageBody(char* data, uint32_t fromByteIndex, uint32_t toByteIndex) {
	for(int i = fromByteIndex; i < toByteIndex; i++) {
		std::cout << eliminateZeroes(data[i]);
		if(i%8 == 7) {
			std::cout << std::endl;
		}
	}
	std::cout << std::endl;
}

inline void printLibdbusMessage(DBusMessage* libdbusMessage, uint32_t fromByteIndex, uint32_t toByteIndex) {
    char* data = dbus_message_get_body(libdbusMessage);
    printLibdbusMessageBody(data, fromByteIndex, toByteIndex);
}

inline void printLibdbusMessage(DBusMessage* libdbusMessage) {
    printLibdbusMessage(libdbusMessage, 0, dbus_message_get_body_length(libdbusMessage));
}

inline std::string toString(CommonAPI::DBus::DBusServiceRegistry::DBusRecordState dbusRecordState) {
    switch(dbusRecordState) {
        case CommonAPI::DBus::DBusServiceRegistry::DBusRecordState::AVAILABLE:
            return "AVAILABLE";
        case CommonAPI::DBus::DBusServiceRegistry::DBusRecordState::NOT_AVAILABLE:
            return "NOT_AVAILABLE";
        case CommonAPI::DBus::DBusServiceRegistry::DBusRecordState::RESOLVED:
            return "RESOLVED";
        case CommonAPI::DBus::DBusServiceRegistry::DBusRecordState::RESOLVING:
            return "RESOLVING";
        case CommonAPI::DBus::DBusServiceRegistry::DBusRecordState::UNKNOWN:
            return "UNKNOWN";
    }
}

inline std::string toString(CommonAPI::AvailabilityStatus state) {
    switch(state) {
        case CommonAPI::AvailabilityStatus::AVAILABLE:
            return "AVAILABLE";
        case CommonAPI::AvailabilityStatus::NOT_AVAILABLE:
            return "NOT_AVAILABLE";
        case CommonAPI::AvailabilityStatus::UNKNOWN:
            return "UNKNOWN";
    }
}

inline std::string toString(CommonAPI::CallStatus state) {
    switch(state) {
        case CommonAPI::CallStatus::CONNECTION_FAILED:
            return "CONNECTION_FAILED";
        case CommonAPI::CallStatus::NOT_AVAILABLE:
            return "NOT_AVAILABLE";
        case CommonAPI::CallStatus::OUT_OF_MEMORY:
            return "OUT_OF_MEMORY";
        case CommonAPI::CallStatus::REMOTE_ERROR:
            return "REMOTE_ERROR";
        case CommonAPI::CallStatus::SUCCESS:
            return "SUCCESS";
    }
}
#endif //__DBUS_TEST_UTILS__