swift
identifiable.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2015 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_IDENTIFIABLE_H
7 #define SWIFT_MISC_IDENTIFIABLE_H
8 
9 #include <QMetaObject>
10 #include <QObject>
11 #include <QString>
12 
13 #include "misc/identifier.h"
15 #include "misc/swiftmiscexport.h"
16 
17 namespace swift::misc
18 {
24  {
25  public:
27  const CIdentifier &identifier() const { return m_identifier; }
28 
30  void setIdentifier(const CIdentifier &identifier) { m_identifier = identifier; }
31 
33  bool isMyIdentifier(const CIdentifier &otherIdentifier) const { return m_identifier == otherIdentifier; }
34 
35  protected:
37  CIdentifiable(const QString &objectName) : m_identifier(objectName) {}
38 
40  CIdentifiable(QObject *nameProvider);
41 
44 
46  ~CIdentifiable();
47 
49  CIdentifiable(const CIdentifiable &) = default;
50 
52  CIdentifiable &operator=(const CIdentifiable &) = default;
53 
54  private:
55  CIdentifier m_identifier;
56  QMetaObject::Connection m_connection;
57  };
58 } // namespace swift::misc
59 
60 #endif // SWIFT_MISC_IDENTIFIABLE_H
Base class with a member CIdentifier to be inherited by a class which has an identity in the environm...
Definition: identifiable.h:24
bool isMyIdentifier(const CIdentifier &otherIdentifier) const
My identifier?
Definition: identifiable.h:33
void setIdentifier(const CIdentifier &identifier)
Set identifier, allows to set an external identifier.
Definition: identifiable.h:30
const CIdentifier & identifier() const
Get identifier.
Definition: identifiable.h:27
CIdentifiable()
Construct without a name.
Definition: identifiable.h:43
CIdentifiable(const CIdentifiable &)=default
Copy constructor.
CIdentifiable & operator=(const CIdentifiable &)=default
Copy assignment operator.
CIdentifiable(const QString &objectName)
Use literal based object name.
Definition: identifiable.h:37
Value object encapsulating information identifying a component of a modular distributed swift process...
Definition: identifier.h:29
Free functions in swift::misc.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.