swift
serverlist.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2013 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_MISC_NETWORK_SERVERLIST_H
7 #define SWIFT_MISC_NETWORK_SERVERLIST_H
8 
9 #include <QMetaType>
10 #include <QString>
11 
12 #include "misc/collection.h"
13 #include "misc/network/server.h"
14 #include "misc/sequence.h"
15 #include "misc/swiftmiscexport.h"
16 
17 SWIFT_DECLARE_SEQUENCE_MIXINS(swift::misc::network, CServer, CServerList)
18 
19 namespace swift::misc::network
20 {
22  class SWIFT_MISC_EXPORT CServerList : public CSequence<CServer>, public mixin::MetaType<CServerList>
23  {
24  public:
27 
29  CServerList();
30 
32  CServerList(const CSequence<CServer> &other);
33 
35  bool containsName(const QString &name) const;
36 
38  bool removeByName(const QString &name);
39 
41  void removeUsers();
42 
44  bool containsAddressPort(const CServer &server);
45 
47  void addIfAddressNotExists(const CServer &server);
48 
50  void addIfAddressNotExists(const CServerList &servers);
51 
53  CServerList findFsdServers() const;
54 
56  void setFsdSetup(const CFsdSetup &setup);
57  };
58 } // namespace swift::misc::network
59 
60 Q_DECLARE_METATYPE(swift::misc::network::CServerList)
62 
63 #endif // SWIFT_MISC_NETWORK_SERVERLIST_H
Generic ordered container with value semantics.
Definition: collection.h:107
Generic sequential container with value semantics.
Definition: sequence.h:86
CSequence()=default
Default constructor.
CRTP class template from which a derived class can inherit common methods dealing with the metatype o...
Definition: mixinmetatype.h:29
Value object for a FSD setup.
Definition: fsdsetup.h:24
Value object encapsulating information of a server.
Definition: server.h:28
Value object encapsulating a list of servers.
Definition: serverlist.h:23
#define SWIFT_MISC_DECLARE_USING_MIXIN_METATYPE(DERIVED)
When a derived class and a base class both inherit from mixin::MetaType, the derived class uses this ...
#define SWIFT_DECLARE_SEQUENCE_MIXINS(Namespace, T, List)
Explicit template declaration of mixins for a CSequence subclass to be placed near the top of the hea...
Definition: sequence.h:62
#define SWIFT_MISC_EXPORT
Export a class or function from the library.