swift
Public Types | Public Member Functions | Static Public Member Functions | List of all members
swift::misc::CIdentifier Class Reference

Value object encapsulating information identifying a component of a modular distributed swift process (core, GUI, audio) More...

Inheritance diagram for swift::misc::CIdentifier:
[legend]

Public Types

enum  ColumnIndex {
  IndexName = CPropertyIndexRef::GlobalIndexCIdentifier , IndexMachineId , IndexMachineIdBase64 , IndexMachineName ,
  IndexProcessId , IndexProcessName , IndexIsFromLocalMachine , IndexIsFromSameProcess ,
  IndexIsFromSameProcessName
}
 Properties by index.
 
- Public Types inherited from swift::misc::CValueObject< CIdentifier >
using base_type = CEmpty
 Base class.
 
- Public Types inherited from swift::misc::CEmpty
using base_type = CEmpty
 Base class is alias of itself.
 
- Public Types inherited from swift::misc::mixin::Index< Derived >
enum  ColumnIndex { IndexPixmap = 10 , IndexIcon , IndexString }
 Base class enums.
 

Public Member Functions

 CIdentifier (const QString &name)
 Constructor.
 
 CIdentifier (const QString &name, QObject *object)
 Constructor using object's name. More...
 
QUuid toUuid () const
 Produces a UUID generated from the identifier.
 
QString toUuidString () const
 UUID string.
 
QString toDBusObjectPath (const QString &root={}) const
 Produces a DBus object path from the identifier.
 
const QString & getName () const
 Name.
 
bool hasName () const
 Has name.
 
void setName (const QString &name)
 Set the name.
 
void appendName (const QString &name)
 Set name or append name. More...
 
void linkWithQObjectName (QObject *object)
 Reflect changes of QObject::
 
QByteArray getMachineId () const
 Get machine id.
 
const QString & getMachineIdBase64 () const
 Machine base64 encoded.
 
const QString & getMachineName () const
 Machine name.
 
bool hasSameMachineName (const CIdentifier &other) const
 Check if the other identifier has the same machine name.
 
bool hasSameMachineId (const CIdentifier &other) const
 Check if other identifier is from the same machine id.
 
bool hasSameMachineNameOrId (const CIdentifier &other) const
 Same machine or id?
 
qint64 getProcessId () const
 Get process id.
 
const QString & getProcessName () const
 Get process name.
 
bool isFromLocalMachine () const
 Check if originating from the same local machine. More...
 
bool hasApplicationProcessId () const
 Check if originating from the same process id.
 
bool hasApplicationProcessName () const
 Check if originating from the same process name.
 
bool isAnonymous () const
 Check if it is anonymous identifier.
 
bool isNull () const
 Null identifier (no name, ids etc)
 
void updateToCurrentMachine ()
 Update to current machine.
 
void updateToCurrentProcess ()
 Update to current process.
 
QString convertToQString (bool i18n=false) const
 Cast as QString. More...
 
QVariant propertyByIndex (swift::misc::CPropertyIndexRef index) const
 Property by index. More...
 
void setPropertyByIndex (swift::misc::CPropertyIndexRef index, const QVariant &variant)
 Set property by index. More...
 
int comparePropertyByIndex (CPropertyIndexRef index, const CIdentifier &compareValue) const
 Compare for index. More...
 
- Public Member Functions inherited from swift::misc::mixin::MetaType< Derived >
int getMetaTypeId () const
 Returns the Qt meta type ID of this object. More...
 
QString getClassName () const
 Class name.
 
bool isA (int metaTypeId) const
 Returns true if this object is an instance of the class with the given meta type ID, or one of its subclasses.
 
- Public Member Functions inherited from swift::misc::mixin::DBusByMetaClass< Derived, Tags >
void marshallToDbus (QDBusArgument &arg, Tags...) const
 Marshall without begin/endStructure, for when composed within another object.
 
void unmarshallFromDbus (const QDBusArgument &arg, Tags...)
 Unmarshall without begin/endStructure, for when composed within another object.
 
- Public Member Functions inherited from swift::misc::mixin::DataStreamByMetaClass< Derived >
void marshalToDataStream (QDataStream &stream) const
 Marshal a value to a QDataStream.
 
void unmarshalFromDataStream (QDataStream &stream)
 Unmarshal a value from a QDataStream.
 
- Public Member Functions inherited from swift::misc::mixin::JsonByMetaClass< Derived >
QJsonObject toJson () const
 Cast to JSON object.
 
QString toJsonString (QJsonDocument::JsonFormat format=QJsonDocument::Indented) const
 Convenience function JSON as string.
 
void convertFromJson (const QJsonObject &json)
 Assign from JSON object.
 
void convertFromJson (const QString &jsonString, bool acceptCacheFormat=false)
 Assign from JSON object string.
 
- Public Member Functions inherited from swift::misc::mixin::String< Derived >
QString toQString (bool i18n=false) const
 Cast as QString.
 
std::string toStdString (bool i18n=false) const
 To std string.
 
QString stringForStreaming () const
 String for streaming operators.
 
- Public Member Functions inherited from swift::misc::mixin::Index< Derived >
CPropertyIndexList apply (const CPropertyIndexVariantMap &indexMap, bool skipEqualValues=false)
 Update by variant map. More...
 
void setPropertyByIndex (CPropertyIndexRef index, const QVariant &variant)
 Set property by index.
 
QVariant propertyByIndex (CPropertyIndexRef index) const
 Property by index.
 
int comparePropertyByIndex (CPropertyIndexRef index, const Derived &compareValue) const
 Compare for index.
 
bool equalsPropertyByIndex (const QVariant &compareValue, CPropertyIndexRef index) const
 Is given variant equal to value of property index?
 
- Public Member Functions inherited from swift::misc::mixin::Icon< Derived, IconIndex >
CIcons::IconIndex toIcon () const
 As icon, not implemented by all classes.
 

Static Public Member Functions

static const CIdentifieranonymous ()
 Returns an anonymous identifier, which is a valid identifier without name. More...
 
static const CIdentifiernull ()
 Null (empty) identifier.
 
static const CIdentifierfake ()
 Returns a fake identifier.
 
static CIdentifier fromDBusObjectPath (const QString &path, const QString &root={})
 Reconstruct an identifier from a DBus object path.
 
- Static Public Member Functions inherited from swift::misc::mixin::MetaType< Derived >
static void registerMetadata ()
 Register metadata.
 
- Static Public Member Functions inherited from swift::misc::mixin::JsonByMetaClass< Derived >
template<class DerivedObj = Derived>
static DerivedObj fromJson (const QJsonObject &json)
 Get object from QJsonObject.
 
template<class DerivedObj = Derived>
static DerivedObj fromJson (const QString &jsonString, bool acceptCacheJson=false)
 Get object from JSON string.
 
template<class DerivedObj = Derived>
static DerivedObj fromJsonNoThrow (const QString &jsonString, bool acceptCacheJson, bool &success, QString &errMsg)
 Get object from JSON string.
 

Additional Inherited Members

- Protected Member Functions inherited from swift::misc::CValueObject< CIdentifier >
 CValueObject ()=default
 Default constructor.
 
 CValueObject (const CValueObject &)=default
 Copy constructor.
 
CValueObjectoperator= (const CValueObject &)=default
 Copy assignment operator.
 
 ~CValueObject ()=default
 Destructor.
 
 CEmpty ()=default
 Inheriting constructors.
 
 CEmpty (const CEmpty &)=default
 Inheriting constructors.
 
- Protected Member Functions inherited from swift::misc::CEmpty
 CEmpty ()=default
 Protected default constructor.
 
 CEmpty (const CEmpty &)=default
 Protected copy constructor.
 
CEmptyoperator= (const CEmpty &)=default
 Protected copy assignment operator.
 
 ~CEmpty ()=default
 Non-virtual protected destructor.
 

Detailed Description

Value object encapsulating information identifying a component of a modular distributed swift process (core, GUI, audio)

Definition at line 28 of file identifier.h.

Constructor & Destructor Documentation

◆ CIdentifier()

swift::misc::CIdentifier::CIdentifier ( const QString &  name,
QObject *  object 
)

Constructor using object's name.

Remarks
automatically changes if object's name changes

Definition at line 62 of file identifier.cpp.

Member Function Documentation

◆ anonymous()

const CIdentifier & swift::misc::CIdentifier::anonymous ( )
static

Returns an anonymous identifier, which is a valid identifier without name.

Remarks
same as CIdentifier()

Definition at line 78 of file identifier.cpp.

◆ appendName()

void swift::misc::CIdentifier::appendName ( const QString &  name)

Set name or append name.

Remarks
append makes sense if an object name changes after some time (like for UI components when the whole UI is setup)

Definition at line 110 of file identifier.cpp.

◆ comparePropertyByIndex()

int swift::misc::CIdentifier::comparePropertyByIndex ( CPropertyIndexRef  index,
const CIdentifier compareValue 
) const

Compare for index.

Definition at line 234 of file identifier.cpp.

◆ convertToQString()

QString swift::misc::CIdentifier::convertToQString ( bool  i18n = false) const

Cast as QString.

Definition at line 205 of file identifier.cpp.

◆ isFromLocalMachine()

bool swift::misc::CIdentifier::isFromLocalMachine ( ) const

Check if originating from the same local machine.

Fixme:
KB 2019-02 wonder if we should check on id (strict) or machine name (lenient)

Definition at line 173 of file identifier.cpp.

◆ propertyByIndex()

QVariant swift::misc::CIdentifier::propertyByIndex ( swift::misc::CPropertyIndexRef  index) const

Property by index.

Definition at line 213 of file identifier.cpp.

◆ setPropertyByIndex()

void swift::misc::CIdentifier::setPropertyByIndex ( swift::misc::CPropertyIndexRef  index,
const QVariant &  variant 
)

Set property by index.

Definition at line 258 of file identifier.cpp.


The documentation for this class was generated from the following files: