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
115
116
117
118
119
120
121
122
123
124
125
126
127
|
/*
* Copyright (C) 2009 Canonical Ltd
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Authored by Neil Jagdish Patel <neil.patel@canonical.com>
*
*/
namespace Utils
{
string strip_characters (string text,
string replace_text,
string match_regex,
string replace_regex)
{
string ret = "";
bool matching = false;
GLib.MatchInfo info;
{
GLib.Regex regex = null;
try
{
regex = new GLib.Regex (match_regex,
GLib.RegexCompileFlags.DOTALL |
GLib.RegexCompileFlags.OPTIMIZE,
0);
}
catch (GLib.RegexError e)
{
warning ("Creating regular-expression failed: \"%s\"\n", e.message);
}
matching = regex.match (text, 0, out info);
}
if (matching)
{
GLib.Regex regex = null;
try
{
regex = new GLib.Regex (replace_regex,
GLib.RegexCompileFlags.DOTALL |
GLib.RegexCompileFlags.OPTIMIZE,
0);
}
catch (GLib.RegexError e)
{
warning ("Creating regular-expression failed: \"%s\"\n", e.message);
}
try
{
ret = regex.replace (text, -1, 0, replace_text, 0);
}
catch (GLib.RegexError e)
{
warning ("Replacing text failed: \"%s\"\n", e.message);
}
}
else
ret = text;
return ret;
}
[CCode (lower_case_prefix = "utils_")]
public extern void set_strut (Gtk.Window *window,
uint32 strut_size,
uint32 strut_start,
uint32 strut_end,
uint32 top_size,
uint32 top_start,
uint32 top_end);
[CCode (lower_case_prefix = "utils_")]
public extern void register_object_on_dbus (DBus.Connection conn,
string path,
GLib.Object object);
[CCode (lower_case_prefix = "utils_")]
public extern X.Window get_stage_window (Clutter.Stage stage);
[CCode (lower_case_prefix = "utils_")]
public extern bool save_snapshot (Clutter.Stage stage,
string filename,
int x,
int y,
int width,
int height);
[CCode (lower_case_prefix = "utils_")]
public extern bool compare_snapshot (Clutter.Stage stage,
string filename,
int x,
int y,
int width,
int height,
bool expected=true);
[CCode (lower_case_prefix = "utils_")]
public extern bool utils_compare_images (string img1_path,
string img2_path);
[CCode (lower_case_prefix = "utils_")]
public extern bool window_is_decorated (X.Window window);
[CCode (lower_case_prefix = "utils_")]
public extern void window_set_decorations (X.Window window, uint decorations);
[CCode (lower_case_prefix = "utils_")]
public extern void volume_eject (GLib.Volume volume);
}
|