summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
Diffstat (limited to 'base')
-rw-r--r--base/base.gyp1
-rw-r--r--base/nullable_string16.h28
2 files changed, 29 insertions, 0 deletions
diff --git a/base/base.gyp b/base/base.gyp
index bf6d9d2..3e0503e 100644
--- a/base/base.gyp
+++ b/base/base.gyp
@@ -202,6 +202,7 @@
'non_thread_safe.h',
'nss_init.cc',
'nss_init.h',
+ 'nullable_string16.h',
'object_watcher.cc',
'object_watcher.h',
'observer_list.h',
diff --git a/base/nullable_string16.h b/base/nullable_string16.h
new file mode 100644
index 0000000..6f69aa5
--- /dev/null
+++ b/base/nullable_string16.h
@@ -0,0 +1,28 @@
+// Copyright (c) 2009 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 BASE_NULLABLE_STRING16_H_
+#define BASE_NULLABLE_STRING16_H_
+
+#include "base/string16.h"
+
+// This class is a simple wrapper for string16 which also contains a null
+// state. This should be used only where the difference between null and
+// empty is meaningful.
+class NullableString16 {
+ public:
+ NullableString16() : is_null_(false) { }
+ NullableString16(const string16& string, bool is_null)
+ : string_(string), is_null_(is_null) {
+ }
+
+ const string16& string() const { return string_; }
+ bool is_null() const { return is_null_; }
+
+ private:
+ string16 string_;
+ bool is_null_;
+};
+
+#endif // BASE_NULLABLE_STRING16_H_