当前位置: 首页>>代码示例>>C++>>正文


C++ Sender::isEmpty方法代码示例

本文整理汇总了C++中Sender::isEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ Sender::isEmpty方法的具体用法?C++ Sender::isEmpty怎么用?C++ Sender::isEmpty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Sender的用法示例。


在下文中一共展示了Sender::isEmpty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: toMessage

    SettingsMessage SettingsMessage::toMessage(const QVariant & message,
                                               const Sender & sender,
                                               const Reciever & reciever,
                                               const Recievers & recievers,
                                               const ReliableTime & reliableTime) {

        QVariantMap messageMap = message.toMap();

        QVariantMap msHeader = messageMap["header"].toMap();

        Recievers recieversList;

        for (const QVariant & reciever : msHeader["recievers"].toList()) {
            recieversList << reciever.value<Reciever>();
        }

        Message::SettingsMessage ms(
                    sender.isEmpty() ? msHeader["sender"].value<Message::Sender>() : sender,
                    reciever.isEmpty() ? msHeader["reciever"].value<Message::Reciever>() : reciever,
                    recievers.isEmpty() ? recieversList : recievers
                );

        if (msHeader.contains("reliableTime")) {
            ms.setReliableTime(reliableTime == ReliableTime(-1) ? msHeader["reliableTime"].value<Message::ReliableTime>() : reliableTime);
        }

        ms.data = messageMap["data"].toMap();

        return ms;
    }
开发者ID:walk1ndude,项目名称:visualizer,代码行数:30,代码来源:SettingsMessage.cpp

示例2: toVariantMap

    QVariantMap SettingsMessage::toVariantMap(const SettingsMessage & message,
                                              const Sender & sender,
                                              const Reciever & reciever,
                                              const Recievers & recievers,
                                              const ReliableTime & reliableTime) {
        QVariantMap map;

        map["header"] = QVariantMap() = {
            { "sender", sender.isEmpty() ? message.sender() : sender },
            { "reciever", reciever.isEmpty() ? message.reciever() : reciever },
            { "recievers", recievers.isEmpty() ? QVariant(message.recievers()) : QVariant(recievers) },
            { "reliableTime", reliableTime == ReliableTime(-1) ? message.reliableTime() : reliableTime }
        };

        QVariantMap mapData;

        QVariantMap mapKeyVarMS;
        QVariantMap mapKeyMS;

        for (const QString & key : message.data.keys()) {
            if (key != "action") {
                mapKeyMS = message.data[key].toMap();

                for (const QString & keykey : mapKeyMS.keys()) {
                    mapKeyVarMS[keykey] = mapKeyMS[keykey];
                }

                mapData[key] = mapKeyVarMS;
                mapKeyVarMS.clear();
            }
        }

        mapData["action"] = message.data["action"];

        map["data"] = mapData;

        return map;
    }
开发者ID:walk1ndude,项目名称:visualizer,代码行数:38,代码来源:SettingsMessage.cpp


注:本文中的Sender::isEmpty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。