Line data Source code
1 : /* 2 : * 3 : * Copyright (c) 2022 Project CHIP Authors 4 : * 5 : * Licensed under the Apache License, Version 2.0 (the "License"); 6 : * you may not use this file except in compliance with the License. 7 : * You may obtain a copy of the License at 8 : * 9 : * http://www.apache.org/licenses/LICENSE-2.0 10 : * 11 : * Unless required by applicable law or agreed to in writing, software 12 : * distributed under the License is distributed on an "AS IS" BASIS, 13 : * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 : * See the License for the specific language governing permissions and 15 : * limitations under the License. 16 : */ 17 : #include <lib/dnssd/minimal_mdns/core/QNameString.h> 18 : 19 : namespace mdns { 20 : namespace Minimal { 21 : 22 315 : QNameString::QNameString(const mdns::Minimal::FullQName & name) 23 : { 24 1221 : for (unsigned i = 0; i < name.nameCount; i++) 25 : { 26 906 : if (i != 0) 27 : { 28 591 : mBuffer.Add("."); 29 : } 30 906 : mBuffer.Add(name.names[i]); 31 : } 32 315 : } 33 : 34 0 : QNameString::QNameString(mdns::Minimal::SerializedQNameIterator name) 35 : { 36 0 : bool first = true; 37 0 : while (name.Next()) 38 : { 39 0 : if (first) 40 : { 41 0 : first = false; 42 : } 43 : else 44 : { 45 0 : mBuffer.Add("."); 46 : } 47 0 : mBuffer.Add(name.Value()); 48 : } 49 0 : if (!name.IsValid()) 50 : { 51 0 : mBuffer.Add("(!INVALID!)"); 52 : } 53 0 : } 54 : 55 : } // namespace Minimal 56 : } // namespace mdns