Skip to content

Commit

Permalink
OrcLib: OutputSpec: add conversion functions for Text::Encoding
Browse files Browse the repository at this point in the history
  • Loading branch information
fabienfl-orc committed Feb 10, 2021
1 parent 1803a40 commit 36b951d
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
29 changes: 29 additions & 0 deletions src/OrcLib/OutputSpec.cpp
Expand Up @@ -503,6 +503,20 @@ OutputSpec::Disposition OutputSpec::ToDisposition(Orc::FileDisposition dispositi
}
}

OutputSpec::Encoding OutputSpec::ToEncoding(Text::Encoding encoding)
{
switch (encoding)
{
case Text::Encoding::Utf8:
return OutputSpec::Encoding::UTF8;
case Text::Encoding::Utf16:
return OutputSpec::Encoding::UTF16;
default:
assert(nullptr);
return OutputSpec::Encoding::kUnknown;
}
}

Orc::FileDisposition ToFileDisposition(OutputSpec::Disposition disposition)
{
switch (disposition)
Expand All @@ -520,4 +534,19 @@ Orc::FileDisposition ToFileDisposition(OutputSpec::Disposition disposition)
}
}

Text::Encoding ToEncoding(OutputSpec::Encoding encoding)
{
switch (encoding)
{
case OutputSpec::Encoding::UTF8:
return Text::Encoding::Utf8;
case OutputSpec::Encoding::UTF16:
return Text::Encoding::Utf16;
default: {
assert(nullptr);
return Text::Encoding::Unknown;
}
}
}

} // namespace Orc
5 changes: 5 additions & 0 deletions src/OrcLib/OutputSpec.h
Expand Up @@ -17,6 +17,7 @@

#include "OutputSpecTypes.h"
#include "FileDisposition.h"
#include "Text/Encoding.h"
#include "Text/Fmt/OutputSpecTypes.h"

#pragma managed(push, off)
Expand Down Expand Up @@ -111,6 +112,8 @@ class ORCLIB_API OutputSpec

static OutputSpec::Disposition ToDisposition(Orc::FileDisposition disposition);

static OutputSpec::Encoding ToEncoding(Text::Encoding);

HRESULT Configure(
OutputSpec::Kind supportedTypes,
const std::wstring& inputString,
Expand All @@ -136,6 +139,8 @@ class ORCLIB_API OutputSpec

Orc::FileDisposition ToFileDisposition(OutputSpec::Disposition disposition);

Text::Encoding ToEncoding(OutputSpec::Encoding encoding);

} // namespace Orc

#pragma managed(pop)

0 comments on commit 36b951d

Please sign in to comment.