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

Value object encapsulating information of a text message. More...

Inheritance diagram for swift::misc::network::CTextMessage:
[legend]

Public Types

enum  ColumnIndex { IndexSenderCallsign = CPropertyIndexRef::GlobalIndexCTextMessage , IndexRecipientCallsign , IndexRecipientCallsignOrFrequency , IndexMessage }
 Properties by index.
 
- Public Types inherited from swift::misc::CValueObject< CTextMessage >
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 Types inherited from swift::misc::ITimestampBased
enum  ColumnIndex {
  IndexUtcTimestamp = CPropertyIndexRef::GlobalIndexITimestampBased , IndexUtcTimestampFormattedYmdhms , IndexUtcTimestampFormattedYmdhmsz , IndexUtcTimestampFormattedMdhms ,
  IndexUtcTimestampFormattedMdhmsz , IndexUtcTimestampFormattedDhms , IndexUtcTimestampFormattedHms , IndexUtcTimestampFormattedHm ,
  IndexMSecsSinceEpoch
}
 Properties by index.
 

Public Member Functions

 CTextMessage ()
 Default constructor.
 
 CTextMessage (const QString &message, const physical_quantities::CFrequency &frequency, const aviation::CCallsign &senderCallsign={})
 Constructor, radio message.
 
 CTextMessage (const QString &message, const aviation::CCallsign &senderCallsign, const aviation::CCallsign &recipientCallsign={})
 Constructor, private message.
 
const aviation::CCallsigngetSenderCallsign () const
 Get callsign (from)
 
void setSenderCallsign (const aviation::CCallsign &callsign)
 Set callsign (from)
 
const aviation::CCallsigngetRecipientCallsign () const
 Get callsign (to)
 
void setRecipientCallsign (const aviation::CCallsign &callsign)
 Set callsign (recipient)
 
QString getRecipientCallsignOrFrequency () const
 Get recipient or frequency.
 
bool isSendToFrequency (const physical_quantities::CFrequency &frequency) const
 Send to particular frequency?
 
bool isSendToUnicom () const
 Send to UNICOM?
 
bool hasValidRecipient () const
 Valid receviver?
 
const QString & getMessage () const
 Get message.
 
bool mentionsCallsign (const aviation::CCallsign &callsign) const
 Is the callsign given mentioned in that message.
 
QString getAsciiOnlyMessage () const
 Get ASCII only message.
 
QString getHtmlEncodedMessage () const
 Get HTML escaped message.
 
bool isEmpty () const
 Empty message.
 
void setMessage (const QString &message)
 Set message.
 
const physical_quantities::CFrequencygetFrequency () const
 Get frequency.
 
void setFrequency (const physical_quantities::CFrequency &frequency)
 Set frequency.
 
bool isPrivateMessage () const
 Is private message?
 
bool isRadioMessage () const
 Is radio message?
 
bool isServerMessage () const
 Initial message of server?
 
bool isBroadcastMessage () const
 Is this a broadcast message.
 
bool isWallopMessage () const
 Is this a message send via .wallop.
 
QString asString (bool withSender, bool withRecipient, const QString &separator=", ") const
 Whole message as formatted string. Used to display message in a console window. More...
 
CStatusMessage asStatusMessage (bool withSender, bool withRecipient, const QString &separator=", ") const
 Whole message as swift::misc::CStatusMessage. Used to display message in logs, or any other situation where a CStatusMessage is required. More...
 
QString asHtmlSummary (const QString &separator="<br>") const
 Summary HTML code.
 
void toggleSenderRecipient ()
 Toggle sender receiver, can be used to ping my own message.
 
bool isSelcalMessage () const
 Is this a text message encapsulating a SELCAL. More...
 
bool isSelcalMessageFor (const QString &selcal) const
 Is this a text message encapsulating a SELCAL for given code?
 
bool isSupervisorMessage () const
 Supervisor message?
 
bool wasSent () const
 Was sent?
 
void markAsSent ()
 Mark as sent. More...
 
bool isRelayedMessage () const
 Is relayed message.
 
void markAsRelayedMessage ()
 Mark as relayed message.
 
void markAsBroadcastMessage ()
 Mark as broadcast message.
 
void makeRelayedMessage (const aviation::CCallsign &partnerCallsign)
 Mark as relayed and keep original sender.
 
bool relayedMessageToPrivateMessage ()
 Turn relayed message into private message.
 
bool canBeAppended (const CTextMessage &textMessage) const
 Can another message be appended.
 
bool appendIfPossible (const CTextMessage &textMessage)
 Append if possible.
 
QString getSelcalCode () const
 Get SELCAL code (if applicable, e.g. ABCD), otherwise "".
 
CIcons::IconIndex toIcon () const
 As icon, not implement by all classes.
 
QPixmap toPixmap () const
 As pixmap, required for most GUI views.
 
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 CTextMessage &compareValue) const
 Compare for index. More...
 
QString convertToQString (bool i18n=false) const
 Cast as QString. 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.
 
- Public Member Functions inherited from swift::misc::ITimestampBased
QDateTime getUtcTimestamp () const
 Get timestamp.
 
qint64 getMSecsSinceEpoch () const
 Timestamp as ms value.
 
qint64 getTimeDifferenceMs (qint64 compareTime) const
 Time difference in ms.
 
qint64 getTimeDifferenceAbsMs (qint64 compareTime) const
 Time difference in ms.
 
qint64 getTimeDifferenceToNowMs () const
 Time difference to now.
 
qint64 getTimeDifferenceMs (const ITimestampBased &compare) const
 Time difference in ms.
 
qint64 getAbsTimeDifferenceMs (qint64 compareTime) const
 Time difference in ms.
 
qint64 getAbsTimeDifferenceMs (const ITimestampBased &compare) const
 Time difference in ms.
 
void setTimestampToNull ()
 Set to null.
 
void setMSecsSinceEpoch (qint64 mSecsSinceEpoch)
 Timestamp as ms value.
 
void setByYearMonthDayHourMinute (const QString &yyyyMMddhhmmss)
 Set by value such as "20141003231045".
 
void setUtcTimestamp (const QDateTime &timestamp)
 Set timestamp.
 
bool isNewerThan (const ITimestampBased &otherTimestampObj) const
 Is this newer than other?
 
bool isNewerThan (qint64 mSecsSinceEpoch) const
 Is newer than epoch value?
 
bool isOlderThan (const ITimestampBased &otherTimestampObj) const
 Is this older than other?
 
bool isOlderThan (qint64 mSecsSinceEpoch) const
 Is this older than other?
 
bool isOlderThanNowMinusOffset (int offsetMs) const
 Older than now-offset.
 
bool isSame (const ITimestampBased &otherTimestampObj) const
 Same timestamp.
 
qint64 msecsTo (const ITimestampBased &otherTimestampObj) const
 Time difference.
 
qint64 absMsecsTo (const ITimestampBased &otherTimestampObj) const
 Time difference.
 
qint64 msecsToNow () const
 Milliseconds to now.
 
void setCurrentUtcTime ()
 Set the current time as timestamp.
 
void addMsecs (qint64 ms)
 Add the given number of milliseconds to the timestamp.
 
QString getFormattedUtcTimestampHms () const
 As hh:mm:ss.
 
QString getFormattedUtcTimestampHmsz () const
 As hh:mm:ss.zzz.
 
QString getFormattedUtcTimestampHm () const
 As hh:mm.
 
QString getFormattedUtcTimestampDhms () const
 As dd HH mm ss.
 
QString getFormattedUtcTimestampMdhms () const
 As MM dd HH mm ss.
 
QString getFormattedUtcTimestampMdhmsz () const
 As MM dd HH mm ss.zzz.
 
QString getFormattedUtcTimestampYmdhms () const
 As yyyy MM dd HH mm ss.
 
QString getFormattedUtcTimestampYmdhmsz () const
 As yyyy MM dd HH mm ss.zzz.
 
bool hasValidTimestamp () const
 Valid timestamp?
 

Static Public Member Functions

static const QString & swiftRelayMessage ()
 swift relay message marker
 
- 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.
 
- Static Public Member Functions inherited from swift::misc::ITimestampBased
static bool isAnyTimestampIndex (int index)
 Any of the timestamp indexes.
 
static bool canHandleIndex (CPropertyIndexRef index)
 Can given index be handled.
 

Additional Inherited Members

- Protected Member Functions inherited from swift::misc::CValueObject< CTextMessage >
 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.
 
- Protected Member Functions inherited from swift::misc::ITimestampBased
 ITimestampBased ()
 Constructor.
 
 ITimestampBased (qint64 msSincePoch)
 Constructor.
 
 ITimestampBased (const QDateTime &timestamp)
 Constructor.
 
QVariant propertyByIndex (CPropertyIndexRef index) const
 Property by index. More...
 
void setPropertyByIndex (CPropertyIndexRef index, const QVariant &variant)
 Set property by index. More...
 
int comparePropertyByIndex (CPropertyIndexRef index, const ITimestampBased &compareValue) const
 Compare for index. More...
 
void updateMissingParts (const ITimestampBased &other)
 Update missing parts.
 
- Protected Attributes inherited from swift::misc::ITimestampBased
qint64 m_timestampMSecsSinceEpoch = -1
 timestamp value
 

Detailed Description

Value object encapsulating information of a text message.

Definition at line 30 of file textmessage.h.

Member Function Documentation

◆ asStatusMessage()

CStatusMessage swift::misc::network::CTextMessage::asStatusMessage ( bool  withSender,
bool  withRecipient,
const QString &  separator = ", " 
) const

Whole message as swift::misc::CStatusMessage. Used to display message in logs, or any other situation where a CStatusMessage is required.

Parameters
withSenderinclude sender information in string?
withRecipientinclude recipient information in string?
separatorvalues separated by given value

Definition at line 232 of file textmessage.cpp.

◆ asString()

QString swift::misc::network::CTextMessage::asString ( bool  withSender,
bool  withRecipient,
const QString &  separator = ", " 
) const

Whole message as formatted string. Used to display message in a console window.

Parameters
withSenderinclude sender information in string?
withRecipientinclude recipient information in string?
separatorvalues separated by given value

Definition at line 201 of file textmessage.cpp.

◆ comparePropertyByIndex()

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

Compare for index.

Definition at line 324 of file textmessage.cpp.

◆ convertToQString()

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

Cast as QString.

Definition at line 38 of file textmessage.cpp.

◆ isSelcalMessage()

bool swift::misc::network::CTextMessage::isSelcalMessage ( ) const

Is this a text message encapsulating a SELCAL.

See also
http://forums.vatsim.net/viewtopic.php?f=8&t=63467

Definition at line 245 of file textmessage.cpp.

◆ markAsSent()

void swift::misc::network::CTextMessage::markAsSent ( )

Mark as sent.

Remarks
also sets current timestamp if there is no valid timestamp

Definition at line 67 of file textmessage.cpp.

◆ propertyByIndex()

QVariant swift::misc::network::CTextMessage::propertyByIndex ( swift::misc::CPropertyIndexRef  index) const

Property by index.

Definition at line 285 of file textmessage.cpp.

◆ setPropertyByIndex()

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

Set property by index.

Definition at line 301 of file textmessage.cpp.


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