Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Unified Diff: include/utils/SkJSON.h

Issue 353183006: Cleanup: Delete SkJSON header. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gyp/public_headers.gypi ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/utils/SkJSON.h
diff --git a/include/utils/SkJSON.h b/include/utils/SkJSON.h
deleted file mode 100644
index c601fa89b57879000d2b0da219ed5bc02e848387..0000000000000000000000000000000000000000
--- a/include/utils/SkJSON.h
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkJSON_DEFINED
-#define SkJSON_DEFINED
-
-#include "SkTypes.h"
-
-class SkStream;
-class SkString;
-
-class SkJSON {
-public:
- enum Type {
- kObject,
- kArray,
- kString,
- kInt,
- kFloat,
- kBool,
- };
-
- class Array;
-
- class Object {
- private:
- struct Slot;
-
- public:
- Object();
- Object(const Object&);
- ~Object();
-
- /**
- * Create a new slot with the specified name and value. The name
- * parameter is copied, but ownership of the Object parameter is
- * transferred. The Object parameter may be null, but the name must
- * not be null.
- */
- void addObject(const char name[], Object* value);
-
- /**
- * Create a new slot with the specified name and value. The name
- * parameter is copied, but ownership of the Array parameter is
- * transferred. The Array parameter may be null, but the name must
- * not be null.
- */
- void addArray(const char name[], Array* value);
-
- /**
- * Create a new slot with the specified name and value. Both parameters
- * are copied. The value parameter may be null, but the name must
- * not be null.
- */
- void addString(const char name[], const char value[]);
-
- /**
- * Create a new slot with the specified name and value. The name
- * parameter is copied, and must not be null.
- */
- void addInt(const char name[], int32_t value);
-
- /**
- * Create a new slot with the specified name and value. The name
- * parameter is copied, and must not be null.
- */
- void addFloat(const char name[], float value);
-
- /**
- * Create a new slot with the specified name and value. The name
- * parameter is copied, and must not be null.
- */
- void addBool(const char name[], bool value);
-
- /**
- * Return the number of slots/fields in this object. These can be
- * iterated using Iter.
- */
- int count() const;
-
- /**
- * Returns true if a slot matching the name and Type is found.
- */
- bool find(const char name[], Type) const;
- bool findObject(const char name[], Object** = NULL) const;
- bool findArray(const char name[], Array** = NULL) const;
- bool findString(const char name[], SkString* = NULL) const;
- bool findInt(const char name[], int32_t* = NULL) const;
- bool findFloat(const char name[], float* = NULL) const;
- bool findBool(const char name[], bool* = NULL) const;
-
- /**
- * Finds the first slot matching the name and Type and removes it.
- * Returns true if found, false if not.
- */
- bool remove(const char name[], Type);
-
- void toDebugf() const;
-
- /**
- * Iterator class which returns all of the fields/slots in an Object,
- * in the order that they were added.
- */
- class Iter {
- public:
- Iter(const Object&);
-
- /**
- * Returns true when there are no more entries in the iterator.
- * In this case, no other methods should be called.
- */
- bool done() const;
-
- /**
- * Moves the iterator to the next element. Should only be called
- * if done() returns false.
- */
- void next();
-
- /**
- * Returns the type of the current element. Should only be called
- * if done() returns false.
- */
- Type type() const;
-
- /**
- * Returns the name of the current element. Should only be called
- * if done() returns false.
- */
- const char* name() const;
-
- /**
- * Returns the type of the current element. Should only be called
- * if done() returns false and type() returns kObject.
- */
- Object* objectValue() const;
-
- /**
- * Returns the type of the current element. Should only be called
- * if done() returns false and type() returns kArray.
- */
- Array* arrayValue() const;
-
- /**
- * Returns the type of the current element. Should only be called
- * if done() returns false and type() returns kString.
- */
- const char* stringValue() const;
-
- /**
- * Returns the type of the current element. Should only be called
- * if done() returns false and type() returns kInt.
- */
- int32_t intValue() const;
-
- /**
- * Returns the type of the current element. Should only be called
- * if done() returns false and type() returns kFloat.
- */
- float floatValue() const;
-
- /**
- * Returns the type of the current element. Should only be called
- * if done() returns false and type() returns kBool.
- */
- bool boolValue() const;
-
- private:
- Slot* fSlot;
- };
-
- private:
- Slot* fHead;
- Slot* fTail;
-
- const Slot* findSlot(const char name[], Type) const;
- Slot* addSlot(Slot*);
- void dumpLevel(int level) const;
-
- friend class Array;
- };
-
- class Array {
- public:
- /**
- * Creates an array with the specified Type and element count. All
- * entries are initialized to NULL/0/false.
- */
- Array(Type, int count);
-
- /**
- * Creates an array of ints, initialized by copying the specified
- * values.
- */
- Array(const int32_t values[], int count);
-
- /**
- * Creates an array of floats, initialized by copying the specified
- * values.
- */
- Array(const float values[], int count);
-
- /**
- * Creates an array of bools, initialized by copying the specified
- * values.
- */
- Array(const bool values[], int count);
-
- Array(const Array&);
- ~Array();
-
- int count() const { return fCount; }
- Type type() const { return fType; }
-
- /**
- * Replace the element at the specified index with the specified
- * Object (which may be null). Ownership of the Object is transferred.
- * Should only be called if the Array's type is kObject.
- */
- void setObject(int index, Object*);
-
- /**
- * Replace the element at the specified index with the specified
- * Array (which may be null). Ownership of the Array is transferred.
- * Should only be called if the Array's type is kArray.
- */
- void setArray(int index, Array*);
-
- /**
- * Replace the element at the specified index with a copy of the
- * specified string (which may be null). Should only be called if the
- * Array's type is kString.
- */
- void setString(int index, const char str[]);
-
- Object* const* objects() const {
- SkASSERT(kObject == fType);
- return fArray.fObjects;
- }
- Array* const* arrays() const {
- SkASSERT(kObject == fType);
- return fArray.fArrays;
- }
- const char* const* strings() const {
- SkASSERT(kString == fType);
- return fArray.fStrings;
- }
- int32_t* ints() const {
- SkASSERT(kInt == fType);
- return fArray.fInts;
- }
- float* floats() const {
- SkASSERT(kFloat == fType);
- return fArray.fFloats;
- }
- bool* bools() const {
- SkASSERT(kBool == fType);
- return fArray.fBools;
- }
-
- private:
- int fCount;
- Type fType;
- union {
- void* fVoids;
- Object** fObjects;
- Array** fArrays;
- char** fStrings;
- int32_t* fInts;
- float* fFloats;
- bool* fBools;
- } fArray;
-
- void init(Type, int count, const void* src);
- void dumpLevel(int level) const;
-
- friend class Object;
- };
-};
-
-#endif
« no previous file with comments | « gyp/public_headers.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698