diff options
| author | Marco Nelissen <marcone@google.com> | 2014-09-03 19:09:43 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-03 19:09:43 +0000 |
| commit | d71233a846aca7035a851941c1530d04c6a65086 (patch) | |
| tree | a1f528af0c52fd0d78a1843743f2930a2684f2b2 /include/media/StringArray.h | |
| parent | acdae5d7865b604acaadd3be1c45c84ca4bf3952 (diff) | |
| parent | 34581f44cde67960fbac3ba1f191a2c063ea5145 (diff) | |
| download | frameworks_av-d71233a846aca7035a851941c1530d04c6a65086.zip frameworks_av-d71233a846aca7035a851941c1530d04c6a65086.tar.gz frameworks_av-d71233a846aca7035a851941c1530d04c6a65086.tar.bz2 | |
Merge "Use CharacterEncodingDetector in metadataretriever" into lmp-dev
Diffstat (limited to 'include/media/StringArray.h')
| -rw-r--r-- | include/media/StringArray.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/include/media/StringArray.h b/include/media/StringArray.h new file mode 100644 index 0000000..ae47085 --- /dev/null +++ b/include/media/StringArray.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// +// Sortable array of strings. STL-ish, but STL-free. +// +#ifndef _LIBS_MEDIA_STRING_ARRAY_H +#define _LIBS_MEDIA_STRING_ARRAY_H + +#include <stdlib.h> +#include <string.h> + +namespace android { + +// +// An expanding array of strings. Add, get, sort, delete. +// +class StringArray { +public: + StringArray(); + virtual ~StringArray(); + + // + // Add a string. A copy of the string is made. + // + bool push_back(const char* str); + + // + // Delete an entry. + // + void erase(int idx); + + // + // Sort the array. + // + void sort(int (*compare)(const void*, const void*)); + + // + // Pass this to the sort routine to do an ascending alphabetical sort. + // + static int cmpAscendingAlpha(const void* pstr1, const void* pstr2); + + // + // Get the #of items in the array. + // + inline int size(void) const { return mCurrent; } + + // + // Return entry N. + // [should use operator[] here] + // + const char* getEntry(int idx) const { + return (unsigned(idx) >= unsigned(mCurrent)) ? NULL : mArray[idx]; + } + + // + // Set entry N to specified string. + // [should use operator[] here] + // + void setEntry(int idx, const char* str); + +private: + int mMax; + int mCurrent; + char** mArray; +}; + +}; // namespace android + +#endif // _LIBS_MEDIA_STRING_ARRAY_H |
