Index: chrome/browser/mac/scoped_launch_data.h |
=================================================================== |
--- chrome/browser/mac/scoped_launch_data.h (revision 0) |
+++ chrome/browser/mac/scoped_launch_data.h (revision 0) |
@@ -0,0 +1,74 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_MAC_SCOPED_LAUNCH_DATA_H_ |
+#define CHROME_BROWSER_MAC_SCOPED_LAUNCH_DATA_H_ |
+#pragma once |
+ |
+#include <launch.h> |
+ |
+#include <algorithm> |
+ |
+#include "base/basictypes.h" |
+#include "base/compiler_specific.h" |
+ |
+namespace launchd { |
+ |
+// Just like scoped_ptr<> but for launch_data_t. |
+class ScopedLaunchData { |
+ public: |
+ typedef launch_data_t element_type; |
+ |
+ explicit ScopedLaunchData(launch_data_t object = NULL) |
+ : object_(object) { |
+ } |
+ |
+ ~ScopedLaunchData() { |
+ if (object_) |
+ launch_data_free(object_); |
+ } |
+ |
+ void reset(launch_data_t object = NULL) { |
+ if (object != object_) { |
+ if (object_) |
+ launch_data_free(object_); |
+ object_ = object; |
+ } |
+ } |
+ |
+ bool operator==(launch_data_t that) const { |
+ return object_ == that; |
+ } |
+ |
+ bool operator!=(launch_data_t that) const { |
+ return object_ != that; |
+ } |
+ |
+ operator launch_data_t() const { |
+ return object_; |
+ } |
+ |
+ launch_data_t get() const { |
+ return object_; |
+ } |
+ |
+ void swap(ScopedLaunchData& that) { |
+ std::swap(object_, that.object_); |
+ } |
+ |
+ launch_data_t release() WARN_UNUSED_RESULT { |
+ launch_data_t temp = object_; |
+ object_ = NULL; |
+ return temp; |
+ } |
+ |
+ private: |
+ launch_data_t object_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ScopedLaunchData); |
+}; |
+ |
+} // namespace launchd |
+ |
+#endif // CHROME_BROWSER_MAC_SCOPED_LAUNCH_DATA_H_ |
Property changes on: chrome/browser/mac/scoped_launch_data.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |