summaryrefslogtreecommitdiffstats
path: root/media/libcubeb/src/cubeb_strings.h
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2019-11-03 11:56:57 -0500
committerMatt A. Tobin <email@mattatobin.com>2019-11-03 11:56:57 -0500
commit2d4aca6d0036937afadfb93359d31fe3b4eabf84 (patch)
treec946f3a7500c91df93b1a25a38ade9411fe64462 /media/libcubeb/src/cubeb_strings.h
parent302bf1b523012e11b60425d6eee1221ebc2724eb (diff)
parent6ee3467a6cfa5a4bd5ca252e00e1b58c469a5011 (diff)
downloadUXP-2d4aca6d0036937afadfb93359d31fe3b4eabf84.tar
UXP-2d4aca6d0036937afadfb93359d31fe3b4eabf84.tar.gz
UXP-2d4aca6d0036937afadfb93359d31fe3b4eabf84.tar.lz
UXP-2d4aca6d0036937afadfb93359d31fe3b4eabf84.tar.xz
UXP-2d4aca6d0036937afadfb93359d31fe3b4eabf84.zip
Merge branch 'master' into mailnews-work
Diffstat (limited to 'media/libcubeb/src/cubeb_strings.h')
-rw-r--r--media/libcubeb/src/cubeb_strings.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/media/libcubeb/src/cubeb_strings.h b/media/libcubeb/src/cubeb_strings.h
new file mode 100644
index 000000000..a918a01c5
--- /dev/null
+++ b/media/libcubeb/src/cubeb_strings.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright © 2011 Mozilla Foundation
+ *
+ * This program is made available under an ISC-style license. See the
+ * accompanying file LICENSE for details.
+ */
+
+#ifndef CUBEB_STRINGS_H
+#define CUBEB_STRINGS_H
+
+#include "cubeb/cubeb.h"
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/** Opaque handle referencing interned string storage. */
+typedef struct cubeb_strings cubeb_strings;
+
+/** Initialize an interned string structure.
+ @param strings An out param where an opaque pointer to the
+ interned string storage will be returned.
+ @retval CUBEB_OK in case of success.
+ @retval CUBEB_ERROR in case of error. */
+CUBEB_EXPORT int cubeb_strings_init(cubeb_strings ** strings);
+
+/** Destroy an interned string structure freeing all associated memory.
+ @param strings An opaque pointer to the interned string storage to
+ destroy. */
+CUBEB_EXPORT void cubeb_strings_destroy(cubeb_strings * strings);
+
+/** Add string to internal storage.
+ @param strings Opaque pointer to interned string storage.
+ @param s String to add to storage.
+ @retval CUBEB_OK
+ @retval CUBEB_ERROR
+ */
+CUBEB_EXPORT char const * cubeb_strings_intern(cubeb_strings * strings, char const * s);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif // !CUBEB_STRINGS_H