| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "SkRefDict.h" | 10 #include "SkRefDict.h" |
| 11 #include "SkString.h" | 11 #include "SkString.h" |
| 12 | 12 |
| 13 struct SkRefDict::Impl { | 13 struct SkRefDict::Impl { |
| 14 Impl* fNext; | 14 Impl* fNext; |
| 15 SkString fName; | 15 SkString fName; |
| 16 SkRefCnt* fData; | 16 SkRefCnt* fData; |
| 17 }; | 17 }; |
| 18 | 18 |
| 19 SkRefDict::SkRefDict() : fImpl(NULL) {} | 19 SkRefDict::SkRefDict() : fImpl(nullptr) {} |
| 20 | 20 |
| 21 SkRefDict::~SkRefDict() { | 21 SkRefDict::~SkRefDict() { |
| 22 this->removeAll(); | 22 this->removeAll(); |
| 23 } | 23 } |
| 24 | 24 |
| 25 SkRefCnt* SkRefDict::find(const char name[]) const { | 25 SkRefCnt* SkRefDict::find(const char name[]) const { |
| 26 if (NULL == name) { | 26 if (nullptr == name) { |
| 27 return NULL; | 27 return nullptr; |
| 28 } | 28 } |
| 29 | 29 |
| 30 Impl* rec = fImpl; | 30 Impl* rec = fImpl; |
| 31 while (rec) { | 31 while (rec) { |
| 32 if (rec->fName.equals(name)) { | 32 if (rec->fName.equals(name)) { |
| 33 return rec->fData; | 33 return rec->fData; |
| 34 } | 34 } |
| 35 rec = rec->fNext; | 35 rec = rec->fNext; |
| 36 } | 36 } |
| 37 return NULL; | 37 return nullptr; |
| 38 } | 38 } |
| 39 | 39 |
| 40 void SkRefDict::set(const char name[], SkRefCnt* data) { | 40 void SkRefDict::set(const char name[], SkRefCnt* data) { |
| 41 if (NULL == name) { | 41 if (nullptr == name) { |
| 42 return; | 42 return; |
| 43 } | 43 } |
| 44 | 44 |
| 45 Impl* rec = fImpl; | 45 Impl* rec = fImpl; |
| 46 Impl* prev = NULL; | 46 Impl* prev = nullptr; |
| 47 while (rec) { | 47 while (rec) { |
| 48 if (rec->fName.equals(name)) { | 48 if (rec->fName.equals(name)) { |
| 49 if (data) { | 49 if (data) { |
| 50 // replace | 50 // replace |
| 51 data->ref(); | 51 data->ref(); |
| 52 rec->fData->unref(); | 52 rec->fData->unref(); |
| 53 rec->fData = data; | 53 rec->fData = data; |
| 54 } else { | 54 } else { |
| 55 // remove | 55 // remove |
| 56 rec->fData->unref(); | 56 rec->fData->unref(); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 78 } | 78 } |
| 79 | 79 |
| 80 void SkRefDict::removeAll() { | 80 void SkRefDict::removeAll() { |
| 81 Impl* rec = fImpl; | 81 Impl* rec = fImpl; |
| 82 while (rec) { | 82 while (rec) { |
| 83 Impl* next = rec->fNext; | 83 Impl* next = rec->fNext; |
| 84 rec->fData->unref(); | 84 rec->fData->unref(); |
| 85 delete rec; | 85 delete rec; |
| 86 rec = next; | 86 rec = next; |
| 87 } | 87 } |
| 88 fImpl = NULL; | 88 fImpl = nullptr; |
| 89 } | 89 } |
| OLD | NEW |