ClassGroup.h
Go to the documentation of this file.
1 /****
2  * ClassGroup.h
3  *
4  * Copyright 2020 mikee47 <mike@sillyhouse.net>
5  *
6  * This file is part of the Sming UPnP Library
7  *
8  * This library is free software: you can redistribute it and/or modify it under the terms of the
9  * GNU General Public License as published by the Free Software Foundation, version 3 or later.
10  *
11  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13  * See the GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along with this library.
16  * If not, see <https://www.gnu.org/licenses/>.
17  *
18  ****/
19 
20 #pragma once
21 
22 #include "ObjectClass.h"
23 #include <WVector.h>
24 
25 namespace UPnP
26 {
27 struct ClassGroup {
28  class List : public Vector<ClassGroup>
29  {
30  public:
31  int add(const FlashString& domain, const ObjectClass::List& classes);
32  const ObjectClass* find(const Urn& objectType) const;
33  };
34 
35  const FlashString& domain;
37 
38  const ObjectClass* find(Urn::Kind kind, const String& type, uint8_t version) const;
39 };
40 
41 } // namespace UPnP
describes a counted string stored in flash memory
Definition: String.hpp:173
typename std::conditional< std::is_scalar< T >::value, ScalarList< T >, ObjectList< T > >::type List
Definition: WiringList.h:190
The String class.
Definition: WString.h:136
const FSTR::Vector< ObjectClass > & List
Definition: ObjectClass.h:54
Kind
Definition: Urn.h:43
const ObjectClass * find(Urn::Kind kind, const String &type, uint8_t version) const
int add(const FlashString &domain, const ObjectClass::List &classes)
Structure for UPnP URNs.
Definition: Urn.h:40
const ObjectClass::List & classes
Definition: ClassGroup.h:70
const ObjectClass * find(const Urn &objectType) const
Definition: ActionRequest.h:24
const FlashString & domain
Definition: ClassGroup.h:69
Vector class template.
Definition: WVector.h:31