rollback to 3428, before the mysterious removal of libs/* at 3431/3432
[ardour.git] / libs / glibmm2 / glib / glibmm / pattern.cc
1 // -*- c++ -*-
2 /* $Id: pattern.cc 2 2003-01-07 16:59:16Z murrayc $ */
3
4 /* pattern.cc
5  *
6  * Copyright (C) 2002 The gtkmm Development Team
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the Free
20  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  */
22
23 #include <glib/gpattern.h>
24 #include <glibmm/pattern.h>
25
26
27 namespace Glib
28 {
29
30 PatternSpec::PatternSpec(const Glib::ustring& pattern)
31 :
32   gobject_ (g_pattern_spec_new(pattern.c_str()))
33 {}
34
35 PatternSpec::PatternSpec(GPatternSpec* gobject)
36 :
37   gobject_ (gobject)
38 {}
39
40 PatternSpec::~PatternSpec()
41 {
42   g_pattern_spec_free(gobject_);
43 }
44
45 bool PatternSpec::match(const Glib::ustring& str) const
46 {
47   return g_pattern_match(gobject_, str.bytes(), str.c_str(), 0);
48 }
49
50 bool PatternSpec::match(const Glib::ustring& str, const Glib::ustring& str_reversed) const
51 {
52   return g_pattern_match(gobject_, str.bytes(), str.c_str(), str_reversed.c_str());
53 }
54
55 bool PatternSpec::operator==(const PatternSpec& rhs) const
56 {
57   return g_pattern_spec_equal(gobject_, rhs.gobject_);
58 }
59
60 bool PatternSpec::operator!=(const PatternSpec& rhs) const
61 {
62   return !g_pattern_spec_equal(gobject_, rhs.gobject_);
63 }
64
65 } // namespace Glib
66