Fork Vasum on GitHub Official Vasum Wiki on Tizen.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
scoped-gerror.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Contact: Jan Olszak <j.olszak@samsung.com>
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License
17  */
18 
25 #ifndef COMMON_SCOPED_GERROR_HPP
26 #define COMMON_SCOPED_GERROR_HPP
27 
28 #include <iostream>
29 #include <gio/gio.h>
30 
31 namespace utils {
32 
33 class ScopedGError {
34 public:
35  ScopedGError();
37  ~ScopedGError();
38 
39  ScopedGError(const ScopedGError&) = delete;
40  ScopedGError& operator=(const ScopedGError&) = delete;
41 
45  bool strip();
46 
50  operator bool () const;
51 
55  GError** operator& ();
56 
60  const GError* operator->() const;
61 
67  friend std::ostream& operator<<(std::ostream& os, const ScopedGError& e);
68 
69 private:
70  GError* mError;
71 
72 };
73 
74 } // namespace utils
75 
76 #endif // COMMON_SCOPED_GERROR_HPP
bool strip()
Strip the error.
Definition: scoped-gerror.cpp:49
const GError * operator->() const
Definition: scoped-gerror.cpp:64
GError ** operator&()
Definition: scoped-gerror.cpp:59
ScopedGError & operator=(const ScopedGError &)=delete
GError * mError
Definition: scoped-gerror.hpp:70
Definition: scoped-gerror.hpp:33
friend std::ostream & operator<<(std::ostream &os, const ScopedGError &e)
Writes out the error message.
Definition: scoped-gerror.cpp:69
~ScopedGError()
Definition: scoped-gerror.cpp:42
ScopedGError()
Definition: scoped-gerror.cpp:31