diff options
Diffstat (limited to 'ppapi/cpp/dev/string_wrapper_dev.cc')
-rw-r--r-- | ppapi/cpp/dev/string_wrapper_dev.cc | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/ppapi/cpp/dev/string_wrapper_dev.cc b/ppapi/cpp/dev/string_wrapper_dev.cc deleted file mode 100644 index 7f0976c..0000000 --- a/ppapi/cpp/dev/string_wrapper_dev.cc +++ /dev/null @@ -1,129 +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. - -#include "ppapi/cpp/dev/string_wrapper_dev.h" - -#include "ppapi/cpp/logging.h" -#include "ppapi/cpp/var.h" - -namespace pp { -namespace internal { - -OptionalStringWrapper::OptionalStringWrapper() { -} - -OptionalStringWrapper::OptionalStringWrapper(const std::string& value) { - *storage_ = Var(value).Detach(); -} - -OptionalStringWrapper::OptionalStringWrapper(PP_Var* storage, NotOwned) - : storage_(storage, NOT_OWNED) { - PP_DCHECK(storage_->type == PP_VARTYPE_STRING || - storage_->type == PP_VARTYPE_UNDEFINED); -} - -OptionalStringWrapper::OptionalStringWrapper( - const OptionalStringWrapper& other) { - // Add one ref. - *storage_ = Var(*other.storage_).Detach(); -} - -OptionalStringWrapper::~OptionalStringWrapper() { - unset(); -} - -OptionalStringWrapper& OptionalStringWrapper::operator=( - const OptionalStringWrapper& other) { - return operator=(*other.storage_); -} - -OptionalStringWrapper& OptionalStringWrapper::operator=(const PP_Var& other) { - if (storage_.get() == &other) - return *this; - - Var auto_release(PASS_REF, *storage_); - // Add one ref. - *storage_ = Var(other).Detach(); - return *this; -} - -bool OptionalStringWrapper::is_set() const { - PP_DCHECK(storage_->type == PP_VARTYPE_STRING || - storage_->type == PP_VARTYPE_UNDEFINED); - return storage_->type == PP_VARTYPE_STRING; -} - -void OptionalStringWrapper::unset() { - Var auto_release(PASS_REF, *storage_); - *storage_ = PP_MakeUndefined(); -} - -std::string OptionalStringWrapper::get() const { - // TODO(yzshen): consider adding a cache. - Var var(*storage_); - if (var.is_string()) { - return var.AsString(); - } else { - PP_NOTREACHED(); - return std::string(); - } -} - -void OptionalStringWrapper::set(const std::string& value) { - Var auto_release(PASS_REF, *storage_); - *storage_ = Var(value).Detach(); -} - -PP_Var* OptionalStringWrapper::StartRawUpdate() { - unset(); - return storage_.get(); -} - -void OptionalStringWrapper::EndRawUpdate() { - PP_DCHECK(storage_->type == PP_VARTYPE_STRING || - storage_->type == PP_VARTYPE_UNDEFINED); -} - -StringWrapper::StringWrapper() : storage_(std::string()) { -} - -StringWrapper::StringWrapper(const std::string& value) : storage_(value) { -} - -StringWrapper::StringWrapper(PP_Var* storage, NotOwned) - : storage_(storage, NOT_OWNED) { - if (!storage_.is_set()) - storage_.set(std::string()); -} - -StringWrapper::StringWrapper(const StringWrapper& other) - : storage_(other.storage_) { -} - -StringWrapper::~StringWrapper() { -} - -StringWrapper& StringWrapper::operator=(const StringWrapper& other) { - storage_ = other.storage_; - return *this; -} - -StringWrapper& StringWrapper::operator=(const PP_Var& other) { - PP_DCHECK(other.type == PP_VARTYPE_STRING); - storage_ = other; - return *this; -} - -PP_Var* StringWrapper::StartRawUpdate() { - return storage_.StartRawUpdate(); -} - -void StringWrapper::EndRawUpdate() { - storage_.EndRawUpdate(); - if (!storage_.is_set()) - storage_.set(std::string()); -} - -} // namespace internal -} // namespace pp |