summaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Foundation/src/TextEncoding.cpp
diff options
context:
space:
mode:
authororivej <[email protected]>2022-02-10 16:44:49 +0300
committerDaniil Cherednik <[email protected]>2022-02-10 16:44:49 +0300
commit718c552901d703c502ccbefdfc3c9028d608b947 (patch)
tree46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/Foundation/src/TextEncoding.cpp
parente9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff)
Restoring authorship annotation for <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/src/TextEncoding.cpp')
-rw-r--r--contrib/libs/poco/Foundation/src/TextEncoding.cpp416
1 files changed, 208 insertions, 208 deletions
diff --git a/contrib/libs/poco/Foundation/src/TextEncoding.cpp b/contrib/libs/poco/Foundation/src/TextEncoding.cpp
index 45cad09d4e4..122b855fea5 100644
--- a/contrib/libs/poco/Foundation/src/TextEncoding.cpp
+++ b/contrib/libs/poco/Foundation/src/TextEncoding.cpp
@@ -1,208 +1,208 @@
-//
-// TextEncoding.cpp
-//
-// Library: Foundation
-// Package: Text
-// Module: TextEncoding
-//
-// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#include "Poco/TextEncoding.h"
-#include "Poco/Exception.h"
-#include "Poco/String.h"
-#include "Poco/ASCIIEncoding.h"
-#include "Poco/Latin1Encoding.h"
-#include "Poco/Latin2Encoding.h"
-#include "Poco/Latin9Encoding.h"
-#include "Poco/UTF32Encoding.h"
-#include "Poco/UTF16Encoding.h"
-#include "Poco/UTF8Encoding.h"
-#include "Poco/Windows1250Encoding.h"
-#include "Poco/Windows1251Encoding.h"
-#include "Poco/Windows1252Encoding.h"
-#include "Poco/RWLock.h"
-#include "Poco/SingletonHolder.h"
-#include <map>
-
-
-namespace Poco {
-
-
-//
-// TextEncodingManager
-//
-
-
-class TextEncodingManager
-{
-public:
- TextEncodingManager()
- {
- TextEncoding::Ptr pUtf8Encoding(new UTF8Encoding);
- add(pUtf8Encoding, TextEncoding::GLOBAL);
-
- add(new ASCIIEncoding);
- add(new Latin1Encoding);
- add(new Latin2Encoding);
- add(new Latin9Encoding);
- add(pUtf8Encoding);
- add(new UTF16Encoding);
- add(new UTF32Encoding);
- add(new Windows1250Encoding);
- add(new Windows1251Encoding);
- add(new Windows1252Encoding);
- }
-
- ~TextEncodingManager()
- {
- }
-
- void add(TextEncoding::Ptr pEncoding)
- {
- add(pEncoding, pEncoding->canonicalName());
- }
-
- void add(TextEncoding::Ptr pEncoding, const std::string& name)
- {
- RWLock::ScopedLock lock(_lock, true);
-
- _encodings[name] = pEncoding;
- }
-
- void remove(const std::string& name)
- {
- RWLock::ScopedLock lock(_lock, true);
-
- _encodings.erase(name);
- }
-
- TextEncoding::Ptr find(const std::string& name) const
- {
- RWLock::ScopedLock lock(_lock);
-
- EncodingMap::const_iterator it = _encodings.find(name);
- if (it != _encodings.end())
- return it->second;
-
- for (it = _encodings.begin(); it != _encodings.end(); ++it)
- {
- if (it->second->isA(name))
- return it->second;
- }
- return TextEncoding::Ptr();
- }
-
-private:
- TextEncodingManager(const TextEncodingManager&);
- TextEncodingManager& operator = (const TextEncodingManager&);
-
- typedef std::map<std::string, TextEncoding::Ptr, CILess> EncodingMap;
-
- EncodingMap _encodings;
- mutable RWLock _lock;
-};
-
-
-//
-// TextEncoding
-//
-
-
-const std::string TextEncoding::GLOBAL;
-
-
-TextEncoding::~TextEncoding()
-{
-}
-
-
-int TextEncoding::convert(const unsigned char* bytes) const
-{
- return static_cast<int>(*bytes);
-}
-
-
-int TextEncoding::convert(int /*ch*/, unsigned char* /*bytes*/, int /*length*/) const
-{
- return 0;
-}
-
-
-int TextEncoding::queryConvert(const unsigned char* bytes, int /*length*/) const
-{
- return (int) *bytes;
-}
-
-
-int TextEncoding::sequenceLength(const unsigned char* /*bytes*/, int /*length*/) const
-{
- return 1;
-}
-
-
-TextEncoding& TextEncoding::byName(const std::string& encodingName)
-{
- TextEncoding* pEncoding = manager().find(encodingName);
- if (pEncoding)
- return *pEncoding;
- else
- throw NotFoundException(encodingName);
-}
-
-
-TextEncoding::Ptr TextEncoding::find(const std::string& encodingName)
-{
- return manager().find(encodingName);
-}
-
-
-void TextEncoding::add(TextEncoding::Ptr pEncoding)
-{
- manager().add(pEncoding, pEncoding->canonicalName());
-}
-
-
-void TextEncoding::add(TextEncoding::Ptr pEncoding, const std::string& name)
-{
- manager().add(pEncoding, name);
-}
-
-
-void TextEncoding::remove(const std::string& encodingName)
-{
- manager().remove(encodingName);
-}
-
-
-TextEncoding::Ptr TextEncoding::global(TextEncoding::Ptr encoding)
-{
- TextEncoding::Ptr prev = find(GLOBAL);
- add(encoding, GLOBAL);
- return prev;
-}
-
-
-TextEncoding& TextEncoding::global()
-{
- return byName(GLOBAL);
-}
-
-
-namespace
-{
- static SingletonHolder<TextEncodingManager> sh;
-}
-
-
-TextEncodingManager& TextEncoding::manager()
-{
- return *sh.get();
-}
-
-
-} // namespace Poco
+//
+// TextEncoding.cpp
+//
+// Library: Foundation
+// Package: Text
+// Module: TextEncoding
+//
+// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#include "Poco/TextEncoding.h"
+#include "Poco/Exception.h"
+#include "Poco/String.h"
+#include "Poco/ASCIIEncoding.h"
+#include "Poco/Latin1Encoding.h"
+#include "Poco/Latin2Encoding.h"
+#include "Poco/Latin9Encoding.h"
+#include "Poco/UTF32Encoding.h"
+#include "Poco/UTF16Encoding.h"
+#include "Poco/UTF8Encoding.h"
+#include "Poco/Windows1250Encoding.h"
+#include "Poco/Windows1251Encoding.h"
+#include "Poco/Windows1252Encoding.h"
+#include "Poco/RWLock.h"
+#include "Poco/SingletonHolder.h"
+#include <map>
+
+
+namespace Poco {
+
+
+//
+// TextEncodingManager
+//
+
+
+class TextEncodingManager
+{
+public:
+ TextEncodingManager()
+ {
+ TextEncoding::Ptr pUtf8Encoding(new UTF8Encoding);
+ add(pUtf8Encoding, TextEncoding::GLOBAL);
+
+ add(new ASCIIEncoding);
+ add(new Latin1Encoding);
+ add(new Latin2Encoding);
+ add(new Latin9Encoding);
+ add(pUtf8Encoding);
+ add(new UTF16Encoding);
+ add(new UTF32Encoding);
+ add(new Windows1250Encoding);
+ add(new Windows1251Encoding);
+ add(new Windows1252Encoding);
+ }
+
+ ~TextEncodingManager()
+ {
+ }
+
+ void add(TextEncoding::Ptr pEncoding)
+ {
+ add(pEncoding, pEncoding->canonicalName());
+ }
+
+ void add(TextEncoding::Ptr pEncoding, const std::string& name)
+ {
+ RWLock::ScopedLock lock(_lock, true);
+
+ _encodings[name] = pEncoding;
+ }
+
+ void remove(const std::string& name)
+ {
+ RWLock::ScopedLock lock(_lock, true);
+
+ _encodings.erase(name);
+ }
+
+ TextEncoding::Ptr find(const std::string& name) const
+ {
+ RWLock::ScopedLock lock(_lock);
+
+ EncodingMap::const_iterator it = _encodings.find(name);
+ if (it != _encodings.end())
+ return it->second;
+
+ for (it = _encodings.begin(); it != _encodings.end(); ++it)
+ {
+ if (it->second->isA(name))
+ return it->second;
+ }
+ return TextEncoding::Ptr();
+ }
+
+private:
+ TextEncodingManager(const TextEncodingManager&);
+ TextEncodingManager& operator = (const TextEncodingManager&);
+
+ typedef std::map<std::string, TextEncoding::Ptr, CILess> EncodingMap;
+
+ EncodingMap _encodings;
+ mutable RWLock _lock;
+};
+
+
+//
+// TextEncoding
+//
+
+
+const std::string TextEncoding::GLOBAL;
+
+
+TextEncoding::~TextEncoding()
+{
+}
+
+
+int TextEncoding::convert(const unsigned char* bytes) const
+{
+ return static_cast<int>(*bytes);
+}
+
+
+int TextEncoding::convert(int /*ch*/, unsigned char* /*bytes*/, int /*length*/) const
+{
+ return 0;
+}
+
+
+int TextEncoding::queryConvert(const unsigned char* bytes, int /*length*/) const
+{
+ return (int) *bytes;
+}
+
+
+int TextEncoding::sequenceLength(const unsigned char* /*bytes*/, int /*length*/) const
+{
+ return 1;
+}
+
+
+TextEncoding& TextEncoding::byName(const std::string& encodingName)
+{
+ TextEncoding* pEncoding = manager().find(encodingName);
+ if (pEncoding)
+ return *pEncoding;
+ else
+ throw NotFoundException(encodingName);
+}
+
+
+TextEncoding::Ptr TextEncoding::find(const std::string& encodingName)
+{
+ return manager().find(encodingName);
+}
+
+
+void TextEncoding::add(TextEncoding::Ptr pEncoding)
+{
+ manager().add(pEncoding, pEncoding->canonicalName());
+}
+
+
+void TextEncoding::add(TextEncoding::Ptr pEncoding, const std::string& name)
+{
+ manager().add(pEncoding, name);
+}
+
+
+void TextEncoding::remove(const std::string& encodingName)
+{
+ manager().remove(encodingName);
+}
+
+
+TextEncoding::Ptr TextEncoding::global(TextEncoding::Ptr encoding)
+{
+ TextEncoding::Ptr prev = find(GLOBAL);
+ add(encoding, GLOBAL);
+ return prev;
+}
+
+
+TextEncoding& TextEncoding::global()
+{
+ return byName(GLOBAL);
+}
+
+
+namespace
+{
+ static SingletonHolder<TextEncodingManager> sh;
+}
+
+
+TextEncodingManager& TextEncoding::manager()
+{
+ return *sh.get();
+}
+
+
+} // namespace Poco