1 /** 2 * Orthanc - A Lightweight, RESTful DICOM Store 3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics 4 * Department, University Hospital of Liege, Belgium 5 * Copyright (C) 2017-2021 Osimis S.A., Belgium 6 * 7 * This program is free software: you can redistribute it and/or 8 * modify it under the terms of the GNU Affero General Public License 9 * as published by the Free Software Foundation, either version 3 of 10 * the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, but 13 * WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Affero General Public License for more details. 16 * 17 * You should have received a copy of the GNU Affero General Public License 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 **/ 20 21 22 #pragma once 23 24 #include "IValue.h" 25 26 #include <Compatibility.h> 27 28 namespace OrthancDatabases 29 { 30 // Represents an UTF-8 string 31 class Utf8StringValue : public IValue 32 { 33 private: 34 std::string utf8_; 35 36 public: Utf8StringValue(const std::string & utf8)37 explicit Utf8StringValue(const std::string& utf8) : 38 utf8_(utf8) 39 { 40 } 41 GetContent()42 const std::string& GetContent() const 43 { 44 return utf8_; 45 } 46 GetType()47 virtual ValueType GetType() const ORTHANC_OVERRIDE 48 { 49 return ValueType_Utf8String; 50 } 51 52 virtual IValue* Convert(ValueType target) const ORTHANC_OVERRIDE; 53 }; 54 } 55