summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp/dev/optional_dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'ppapi/cpp/dev/optional_dev.h')
-rw-r--r--ppapi/cpp/dev/optional_dev.h117
1 files changed, 0 insertions, 117 deletions
diff --git a/ppapi/cpp/dev/optional_dev.h b/ppapi/cpp/dev/optional_dev.h
deleted file mode 100644
index caf364d..0000000
--- a/ppapi/cpp/dev/optional_dev.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright 2014 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 PPAPI_CPP_DEV_OPTIONAL_DEV_H_
-#define PPAPI_CPP_DEV_OPTIONAL_DEV_H_
-
-#include "ppapi/c/dev/pp_optional_structs_dev.h"
-#include "ppapi/c/pp_bool.h"
-#include "ppapi/cpp/dev/may_own_ptr_dev.h"
-#include "ppapi/cpp/dev/string_wrapper_dev.h"
-#include "ppapi/cpp/logging.h"
-#include "ppapi/cpp/var.h"
-
-namespace pp {
-
-template <typename T>
-class Optional;
-
-template <>
-class Optional<double> {
- public:
- typedef const PP_Optional_Double_Dev* CInputType;
-
- Optional() {}
-
- Optional(double value) { set(value); }
-
- // Creates an accessor to |storage| but doesn't take ownership of the memory.
- // |storage| must live longer than this object.
- Optional(PP_Optional_Double_Dev* storage, NotOwned)
- : storage_(storage, NOT_OWNED) {
- }
-
- Optional(const Optional<double>& other) { *storage_ = *other.storage_; }
-
- Optional<double>& operator=(const Optional<double>& other) {
- return operator=(*other.storage_);
- }
-
- Optional<double>& operator=(const PP_Optional_Double_Dev& other) {
- if (storage_.get() == &other)
- return *this;
-
- *storage_ = other;
- return *this;
- }
-
- bool is_set() const { return PP_ToBool(storage_->is_set); }
- void unset() { storage_->is_set = PP_FALSE; }
-
- double get() const {
- PP_DCHECK(is_set());
- return storage_->value;
- }
-
- void set(double value) {
- storage_->value = value;
- storage_->is_set = PP_TRUE;
- }
-
- const PP_Optional_Double_Dev* ToCInput() const { return storage_.get(); }
-
- PP_Optional_Double_Dev* StartRawUpdate() { return storage_.get(); }
- void EndRawUpdate() {}
-
- private:
- internal::MayOwnPtr<PP_Optional_Double_Dev> storage_;
-};
-
-template <>
-class Optional<std::string> {
- public:
- typedef const PP_Var& CInputType;
-
- Optional() {}
-
- Optional(const std::string& value) : wrapper_(value) {}
-
- Optional(const char* value) : wrapper_(value) {}
-
- // Creates an accessor to |storage| but doesn't take ownership of the memory.
- // |storage| must live longer than this object.
- //
- // Although this object doesn't own the memory of |storage|, it manages the
- // ref count and sets the var to undefined when destructed.
- Optional(PP_Var* storage, NotOwned) : wrapper_(storage, NOT_OWNED) {}
-
- Optional(const Optional<std::string>& other) : wrapper_(other.wrapper_) {}
-
- Optional<std::string>& operator=(const Optional<std::string>& other) {
- wrapper_ = other.wrapper_;
- return *this;
- }
-
- Optional<std::string>& operator=(const PP_Var& other) {
- wrapper_ = other;
- return *this;
- }
-
- bool is_set() const { return wrapper_.is_set(); }
- void unset() { wrapper_.unset(); }
- std::string get() const { return wrapper_.get(); }
- void set(const std::string& value) { wrapper_.set(value); }
-
- const PP_Var& ToCInput() const { return wrapper_.ToVar(); }
-
- PP_Var* StartRawUpdate() { return wrapper_.StartRawUpdate(); }
- void EndRawUpdate() { wrapper_.EndRawUpdate(); }
-
- private:
- internal::OptionalStringWrapper wrapper_;
-};
-
-} // namespace pp
-
-#endif // PPAPI_CPP_DEV_OPTIONAL_DEV_H_