当前位置: 首页 > news >正文

做百科网站最有效的恶意点击

做百科网站,最有效的恶意点击,推荐邵阳网站建设,个人做旅游网站怎样最近做的一个项目,由于工程需要模块之间能够互相通信,但又不想模块之间耦合度太高 使用信号槽的话,需要两个类的对象或者指针在其中一个类都要体现,这样达不到效果, 想要一个管理类对这些互相通信的类之间进行管理,只需要在各自的类注册发送者和接收者即可,双方通过一…

最近做的一个项目,由于工程需要模块之间能够互相通信,但又不想模块之间耦合度太高

使用信号槽的话,需要两个类的对象或者指针在其中一个类都要体现,这样达不到效果,

想要一个管理类对这些互相通信的类之间进行管理,只需要在各自的类注册发送者和接收者即可,双方通过一个指定的消息ID来建立联系。

技术:QObject::connect()定义map来管理发送方和接收方

上代码

头文件

#pragma once

#include "messager_global.h"
#include "GlobalDefines.h"
#include "QObject"
#include "Platform\OSAdapter\VAZLock.h"
#include "Messager.h"

class CMsgObj
{
public:
    CMsgObj(QObject* MsgObj, const tchar* pszMsgObjName, const char* pszMethodName, Qt::ConnectionType connectyType)
    {
        m_MsgObj = MsgObj;
        m_sMsgObjName = pszMsgObjName;
        m_sMethodName = pszMethodName;
        m_connectionType = connectyType;
    };

    QObject* m_MsgObj;
    tstring m_sMsgObjName;
    string    m_sMethodName;
    Qt::ConnectionType m_connectionType;

public:
    inline bool operator == (const CMsgObj& rt) const
    {
        return (rt.m_MsgObj == m_MsgObj)
            && (rt.m_sMethodName == m_sMethodName);
    }
};

class CVAZMessager : public QObject
{
    Q_OBJECT
public:
    CVAZMessager();
    ~CVAZMessager();
    static CVAZMessager& Instance();

    void RegisterReceiver(VAZ_MSG_ID MsgID, QObject* Receiver, const tchar* pszReceiverName, const char* pszMethodName);
    void UnregisterReceiver(VAZ_MSG_ID MsgID, QObject* Receiver, const tchar* pszReceiverName, const char* pszMethodName);

    void RegisterSender(VAZ_MSG_ID MsgID, QObject* Sender, const tchar* pszSenderName, const char* pszMethodName, Qt::ConnectionType connectionType);
    void UnregisterSender(VAZ_MSG_ID MsgID, QObject* Sender, const tchar* pszSenderName, const char* pszMethodName);
    bool IsSignalRegistered(VAZ_MSG_ID MsgID, QObject* Sender);

private:
    map< VAZ_MSG_ID, list< CMsgObj> > m_mapReceivers;
    map< VAZ_MSG_ID, list< CMsgObj> > m_mapSenders;

    typedef map< VAZ_MSG_ID, list< CMsgObj> >::iterator IterReceivers, IterSenders;
    typedef list< CMsgObj>::iterator IterReceiver, IterSender;


    CVAZLock m_MessagerLock;
};


cpp文件

#include "VAZMessager.h"
#include "Platform\Logger\Logger.h"
#include "..\Common\misc.h"

CVAZMessager::CVAZMessager()
    : QObject()
    , m_MessagerLock(_T("Messager Lock"))
{
}

CVAZMessager::~CVAZMessager()
{
}

CVAZMessager & CVAZMessager::Instance()
{
    static CVAZM

http://www.ds6.com.cn/news/90259.html

相关文章:

  • 做网站的是些什么公司网站是怎么做出来的
  • 郑州知名网站推广推广营销
  • 做网站需要准备哪些东西百度竞价推广开户
  • 良品铺子网站制作广东知名seo推广多少钱
  • 营销型网站框架百度关键词排名点击
  • 公司网站后台操作站长工具域名
  • 佛山市桂城建设局网站合肥360seo排名
  • 自己做网站打开很卡seo企业优化顾问
  • 无锡市政府网站建设江门网站优化公司
  • 不错的网站建设公搜索引擎调词平台价格
  • 网站域名防劫持怎么做大学生网页制作成品模板
  • 福州网站建设免费咨询seo优化需要做什么
  • h5素材做多的网站哈尔滨网络推广
  • 成都定制网站建设服手机打开国外网站app
  • 广州火车站贵州seo推广
  • 开一个网站建设公司好现在做百度推广有用吗
  • 设计网站页面步骤广东培训seo
  • 文昌网站 做炸饺子廊坊百度推广seo
  • 聊城做网站公司信息简短的营销软文范文
  • 什么网站上可以做国际贸易关于网络推广的方法
  • 高校校园网络设计方案免费seo网站推广
  • 网站子页面怎么做关键词首页排名优化
  • vs2015 做网站免费源码网站
  • 佳木斯 两学一做 网站网站建设 全网营销
  • 母婴用品商城网站建设广告词
  • 做英文网站要会什么吉安seo
  • 怎么做动态网站页面百度广告一天多少钱
  • 做饼干的网站广告投放这个工作难不难做
  • 湖南长沙门户网站网站推广优化方案
  • wordpress中文版书籍网站关键词优化软件