File: SearchProvider_common.h

package info (click to toggle)
pinot 1.23-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,608 kB
  • sloc: cpp: 41,870; makefile: 611; xml: 416; sh: 336
file content (114 lines) | stat: -rw-r--r-- 4,051 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#pragma once
#include <iostream>
#include <vector>
#include "glibmm.h"
#include "giomm.h"

namespace org {
namespace gnome {
namespace Shell {

class SearchProvider2TypeWrap {
public:
    template<typename T>
    static void unwrapList(std::vector<T> &list, const Glib::VariantContainerBase &wrapped) {
        for (uint i = 0; i < wrapped.get_n_children(); i++) {
            Glib::Variant<T> item;
            wrapped.get_child(item, i);
            list.push_back(item.get());
        }
    }

    static std::vector<Glib::ustring> stdStringVecToGlibStringVec(const std::vector<std::string> &strv) {
        std::vector<Glib::ustring> newStrv;
        for (uint i = 0; i < strv.size(); i++) {
            newStrv.push_back(strv[i]);
        }

        return newStrv;
    }

    static std::vector<std::string> glibStringVecToStdStringVec(const std::vector<Glib::ustring> &strv) {
        std::vector<std::string> newStrv;
        for (uint i = 0; i < strv.size(); i++) {
            newStrv.push_back(strv[i]);
        }

        return newStrv;
    }

    static Glib::VariantContainerBase GetInitialResultSet_pack(
        const std::vector<Glib::ustring> & arg_terms) {
        Glib::VariantContainerBase base;
        Glib::Variant<std::vector<Glib::ustring>> params =
            Glib::Variant<std::vector<Glib::ustring>>::create(arg_terms);
        return Glib::VariantContainerBase::create_tuple(params);
    }

    static Glib::VariantContainerBase GetSubsearchResultSet_pack(
        const std::vector<Glib::ustring> & arg_previous_results,
        const std::vector<Glib::ustring> & arg_terms) {
        Glib::VariantContainerBase base;
        std::vector<Glib::VariantBase> params;

        Glib::Variant<std::vector<Glib::ustring>> previous_results_param =
            Glib::Variant<std::vector<Glib::ustring>>::create(arg_previous_results);
        params.push_back(previous_results_param);

        Glib::Variant<std::vector<Glib::ustring>> terms_param =
            Glib::Variant<std::vector<Glib::ustring>>::create(arg_terms);
        params.push_back(terms_param);
        return Glib::VariantContainerBase::create_tuple(params);
    }

    static Glib::VariantContainerBase GetResultMetas_pack(
        const std::vector<Glib::ustring> & arg_identifiers) {
        Glib::VariantContainerBase base;
        Glib::Variant<std::vector<Glib::ustring>> params =
            Glib::Variant<std::vector<Glib::ustring>>::create(arg_identifiers);
        return Glib::VariantContainerBase::create_tuple(params);
    }

    static Glib::VariantContainerBase ActivateResult_pack(
        const Glib::ustring & arg_identifier,
        const std::vector<Glib::ustring> & arg_terms,
        guint32 arg_timestamp) {
        Glib::VariantContainerBase base;
        std::vector<Glib::VariantBase> params;

        Glib::Variant<Glib::ustring> identifier_param =
            Glib::Variant<Glib::ustring>::create(arg_identifier);
        params.push_back(identifier_param);

        Glib::Variant<std::vector<Glib::ustring>> terms_param =
            Glib::Variant<std::vector<Glib::ustring>>::create(arg_terms);
        params.push_back(terms_param);

        Glib::Variant<guint32> timestamp_param =
            Glib::Variant<guint32>::create(arg_timestamp);
        params.push_back(timestamp_param);
        return Glib::VariantContainerBase::create_tuple(params);
    }

    static Glib::VariantContainerBase LaunchSearch_pack(
        const std::vector<Glib::ustring> & arg_terms,
        guint32 arg_timestamp) {
        Glib::VariantContainerBase base;
        std::vector<Glib::VariantBase> params;

        Glib::Variant<std::vector<Glib::ustring>> terms_param =
            Glib::Variant<std::vector<Glib::ustring>>::create(arg_terms);
        params.push_back(terms_param);

        Glib::Variant<guint32> timestamp_param =
            Glib::Variant<guint32>::create(arg_timestamp);
        params.push_back(timestamp_param);
        return Glib::VariantContainerBase::create_tuple(params);
    }
};

} // Shell
} // gnome
} // org