File: prop_list.cpp

package info (click to toggle)
tango 10.0.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 89,936 kB
  • sloc: cpp: 201,786; sh: 1,645; python: 953; java: 800; perl: 467; javascript: 447; xml: 325; makefile: 272; sql: 72; ruby: 24
file content (77 lines) | stat: -rw-r--r-- 2,188 bytes parent folder | download | duplicates (4)
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
// NOLINTBEGIN(*)

#include "old_common.h"

int main()
{
    Database *dbase = new Database();

    try
    {
        string dev_name("test/prop/list");

        //
        // Put some device properties
        //

        DbData da;
        DbDatum speed("speed"), acceleration("acceleration");
        DbDatum base_speed("base_speed"), deceleration("deceleration");
        speed << (long) 22;
        acceleration << (long) 123;
        base_speed << (long) 55;
        deceleration << (long) 456;
        da.push_back(speed);
        da.push_back(acceleration);
        da.push_back(base_speed);
        da.push_back(deceleration);

        dbase->put_device_property(dev_name, da);

        //
        // Get prop. list
        //

        DbDatum db;
        string wild("*");

        db = dbase->get_device_property_list(dev_name, wild);
        vector<string> prop_list;
        db >> prop_list;
        //        TEST_LOG << "Prop number = " << prop_list.size() << endl;
        //        for (unsigned long l = 0;l < prop_list.size();l++)
        //            TEST_LOG << "Prop_name = " << prop_list[l] << endl;
        assert(prop_list.size() == 4);
        assert(strcmp(prop_list[0].c_str(), "acceleration") == 0);
        assert(strcmp(prop_list[1].c_str(), "base_speed") == 0);
        assert(strcmp(prop_list[2].c_str(), "deceleration") == 0);
        assert(strcmp(prop_list[3].c_str(), "speed") == 0);

        wild = "a*";
        db = dbase->get_device_property_list(dev_name, wild);
        db >> prop_list;
        //        TEST_LOG << "Prop number = " << prop_list.size() << endl;
        //        for (unsigned long l = 0;l < prop_list.size();l++)
        //            TEST_LOG << "Prop_name = " << prop_list[l] << endl;
        assert(prop_list.size() == 1);
        assert(strcmp(prop_list[0].c_str(), "acceleration") == 0);

        TEST_LOG << "   Get device property list --> OK" << endl;

        //
        // Delete property in DB
        //

        dbase->delete_device_property(dev_name, da);
    }
    catch(Tango::DevFailed &e)
    {
        Except::print_exception(e);
        exit(-1);
    }

    delete dbase;
    return 0;
}

// NOLINTEND(*)