Gaim Plugin开发

数字化车间智能排产调度挑战赛(一)—— 数学模型 科大讯飞——数字化车间智能排产调度挑战赛。 阅读详情

Gaim Plugin开发

一.     插件描述

      Gaim是基于GTK+2的多平台的即时通信的客户端。它支持很多常见的协议,包括:MSN,Yahoo,ICQ,QQ,JABBER还有我在做的淘宝旺旺.如果需要为一个新的im 协议做一个插件,那么看下面的简单描述,详细的内容只能等再进一步补充了.

二.     接口定义

按照GAIM PLUGIN API的要求定义接口函数和接口变量.

 

1. 定义Gaim Plugin句柄

static GaimPlugin *ww_plugin = NULL;

 

此结构定义在Plugin.h中说明:

结构的成员变量 GaimPluginInfo *info将在初始化中指向插件详细信息的指针.

2.定义插件协议信息

static GaimPluginProtocolInfo prpl_info= {

..

..

..

}

此结构定义了所有协议函数的人口以提供给GAIM调用. GAIM在事件触发的时候来这个结构里面查找相应的函数,如用户在GAIM使用此插件在界面上点击登陆时候,GAIM将在此查找到登陆的函数进行调用.

注意: list_icon函数不能为空

3. 定义插件详细信息

       static GaimPluginInfo info ={

..

..

}

此结构定义在Plugin.h中说明:

其中主要的有插件ID,插件的名字,插件的版本,插件类型(说明是协议插件或者是普通插件),插件协议信息(定义消息处理)

 

4.定义初始化函数

static void init_plugin(GaimPlugin *plugin){

  ww_plugin = plugin; //将plugin指向前面定义的ww_plugin

}

 

 

5.定义插件入口函数

 

GAIM_INIT_PLUGIN(ww, init_plugin, info)

 

6.源代码.

   不知道怎么放,参看gaim代码里面的Protocol例子吧

 

三. 编译安装

  看一下Makefile吧

all:install

libwangwang.so:wwang.o

        ld -shared -o libwwang.so wwang.o

wwang.o:wwang.c

        gcc -fPIC -DGAIM_PLUGINS -Wall -g -DVERSION=/"1.1.1/" -I. -I../../src -I.. -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/

include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c wwang.c -o wwang.o

install: libwangwang.so

        cp libwwang.so /home/wee/bin/gaim/lib/gaim/

三.     进一步处理

   编译完的so被拷贝到GAIM安装目录下后,启动GAIM选新建一个帐户,然后可以在协议列表里面看到你所定义的插件的名字,可以输入用户名和密码保存,当然登陆的时候,点登陆按钮什么也不没做,进一步的处理是根据你要连接的IM服务器的协议针对每个动作进行处理,如登陆退出,增删改好友,组,收发消息. 可以参考的例子除了GAIM自身带的MSN,JABBER,yahoo的插件外,还有OPENQ..

Hypermesh二次开发实战:从Tcl/Tk脚本到Ext API的进阶之路 本文系统介绍了Hypermesh二次开发的进阶路径,从自动化重复操作的Tcl/Tk脚本入门,到利用HMASCII接口深度读写模型数据,最终深入Ext API进行高性能计算与功能定制。通过实战案例,帮助工程师掌握从脚本录制到C++插件开发的完整技能,显著提升CAE前处理效率与自动化水平。 阅读详情

相关推荐

Monocle2在R 4.3环境下的终极避坑指南:从安装到可视化全流程解析

本文提供了在R 4.3环境下安装和运行Monocle2的完整解决方案,重点解决了依赖包兼容性、源码修改及BEAM分析报错等关键问题。文章详细解析了从环境准备、依赖包处理、源码安装验证到从Seurat对象转换、拟时轨迹构建、高级可视化及性能优化的全流程,旨在帮助用户顺利完成单细胞拟时分析。

weixin_29206669的博客 1355

cocos2d-x Lua使用pluginx中得IOSIAP遇到的问题

1.在项目工程上右键添加PluginIAP.xcodeproj和PluginProtocol.xcodeproj 2.增加类库MediaPlayer.framework和GameController.framework解决 _GCControllerDidDisconnectNotification”, referenced from 的错误。 3.User Header Search

zyuely895的专栏 830

Materials Studio多层聚合物建模全流程:从Build Layers到LAMMPS data文件导出避坑指南

本文详细解析了使用Materials Studio构建多层聚合物模型并导出为LAMMPS data文件的全流程。重点剖析了Build Layers工具的核心逻辑、真空层处理技巧,并提供了解决导出过程中Z轴坐标偏移问题的实战方案,特别是如何利用msi2lmp工具的-shift参数进行精准校正,确保模型在LAMMPS中模拟的稳定性和准确性。

hhh00的博客 914

Cocos2d-x PluginX (一)使用手册

简介 Plugin-x是cocos2d-x最近版本中引入的特性,旨在解决第三方SDK接入的问题,最大程度的简化接入工作,增加可重用性。第一部分主要介绍PluginX如何使用,不涉及设计原理相关内容。 ${cocos2d-x root}\plugin 目录下是PluginX所在位置,从设计和相关文档看感觉这东西相当复杂,但实际上使用起来非常简便。(复杂的设计是为了使用上简单方便)

u012398902的专栏 911

详解STM32F407双重ADC同步采集与DMA传输的配置技巧及实战应用

本文详细解析了STM32F407双重ADC同步采集与DMA传输的配置技巧及实战应用。通过CubeMX配置、代码实现和常见问题解决方案,帮助开发者高效实现多通道数据同步采集,提升工业自动化和嵌入式系统的数据采集效率与精度。

ii567的博客 364

中文文本纠错实战:pycorrector与kenlm的安装与高效使用指南

本文提供了一份详细的中文文本纠错实战指南,重点介绍了pycorrector与kenlm的安装与高效使用方法。内容涵盖从编译环境准备、依赖安装到核心参数调优、批量处理及领域自适应等全流程,旨在帮助开发者快速部署并优化纠错系统,提升中文文本处理的质量与效率。

weixin_29055699的博客 411

自己动手为gaim写个闪屏插件

目标: 在聊天窗口的toolbar里添加一个按钮,点击发送闪屏消息给对方。 软件版本: gaim-2.0.0beta6(http://gaim.sourceforge.net/) 主要思想: 一.确定闪屏的协议:   这个简单,让同事发个闪屏消息给我,用wireshark抓包就能得到了,最终得到闪屏的消息为: MSG username@hotmail.com /342/225/254nickn

aimself@优快云 3689

Renesas:定时器输入捕获

一、PWM输入捕获 1、Smart Configurator配置 注意:在使用前,需要使能对应的定时器!否侧无法正常进行输入捕获! 2、脉冲宽度的获取 如何区分高低电平的脉冲宽度:最常用的方法就是在触发中断后,判断IO口的高低电平,来确认是上升沿触发的中断还是下降沿触发的中断。 若无法进入中断,可查看:Renesas:配置中断的常规流程 (1)中断方式(Smart Configurator生成的代码) #pragma interrupt r_Config_TAUB0_0_i...

不吃鱼的猫的博客 2482

OpenQ-0.3.1的安装

OpenQ-0.3.1的安装需要gaim版本为1.0及以上,首先到sourceforge下载最新的gaim与 OpenQ-0.3.1.tar.bz2,分别解压到相应路径。1、安装gaim:进入其目录后,三步曲,./configure & make & make install。注意./configure最好用--prifix=指明安装路径。2、安装OpenQ plugin:

Xiaozhuang Studio 1175

使用 Simulink + Simscape Electrical 对基于VSG控制的背靠背变流器整流侧进行建模与仿真

本文介绍了基于Simulink的直驱风电系统背靠背变流器整流侧虚拟同步发电机(VSG)建模方法。首先阐述了直驱风电系统结构和VSG控制的作用,然后详细指导了模型搭建过程:从创建项目、添加PMSG和变流器模块,到搭建主电路拓扑和实现VSG控制逻辑。重点说明了VSG控制器如何模拟传统同步发电机的特性,并提供了仿真设置和结果分析方法。该模型可用于研究风电系统在不同工况下的响应特性,为新能源发电系统设计提供重要参考。

amy_mhd的博客 180

[QMT量化交易小白入门]-四十四、年化收益48%的策略要兼容回测和实盘,将实盘改为定时任务的方式

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 1373

在win32下编译QQ-0.3 (with gaim-1.0.0)

摘自:巴蛮子的新破茅屋 准备工具: mingw, msys源代码: gaim-1.0.0, openq-0.3-p3头/库文件: gtk2, aspell, gtkspell, nspr, nss, perl58, tcl如果要制作安装包还得需要NSIS另外需要几个补丁编译方法: 1.从<http://sourceforge.net/projects/tcl下载并安装msys_mingw,...

weixin_30640769的博客 120

PCIe协议之 Equalization篇 之 谈谈几种模式

对于两端有能力最高支持 32 GT/s 及以上速率的设备,如果把目标速度设置为 8 GT/s 或 16 GT/s 速率,是不建议采用 Bypass-Equalization-to-Highest-Rate 模式的,即便采用了,也不会针对 8 GT/s 或 16 GT/s 的目标速率进行 EQ。对于支持 32 GT/s 及以上速率的设备,其可能根本无需工作在 8 GT/s 或 16 GT/s 速率,这时再针对 8 GT/s 或 16 GT/s 速率进行 EQ,多少有点浪费。

那么菜的博客 567

Linux 初步安装出现的问题以及解决流程

本日志是我准备正式使用Linux作为开发工作平台的时候, 第一次安装Linux 的过程。原来使用RedHat Linux, 后来改成Debian Linux1. 安装Linux : RedHat 9.0,带默认的OpenOffice2. 发现有最新的OpenOffice, 决定安装最新的OpenOffice1.1.13. 原来安装的Linux配给的空间太小,只有2G ,决定给它多配一些空间.4.

jiangzuoge的专栏 1807

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

发布Linux下图形界面的QQ软件!!

QQ Plugin For Gaim in Linux全图形界面,欢迎大家下载试用。http://www.zoudan.com QQ plugin for Gaim使用说明…………………………………………………………………………………………Linux下图形界面的QQ        libqq是本人在Linux平台下开发的一个支持QQ协议的Gaim插件,目前已

zoudan的专栏 2552

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Fedora4.0播放机支持mp3、wma的解决办法(转)

Fedora4.0播放机支持mp3、wma的解决办法(转)  由于mp3的版权的事,Fedora core 4.0 没有支持mp3的播放;所以还得特别对待一下;  在Linux中支持mp3播放工具很多,常用的是xmms,bmp-...

cuemes08808的博客 183

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

yum安装一个软件不知道名字时_yum安装与卸载软件常见命令

1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。安装的命令是,yuminstall ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断;删除的命令是,yum remove ~,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。...

weixin_39769183的博客 391

Ubuntu 7.04安装再安装后的配置总结

转贴于:http://hi.baidu.com/chinsung/blog/item/720702089cc56131e824884c.html这个版出来了后安装了两次了,这里把这两次安装的总结写在下面,很基础,不过相信对大多数初级读者来说还是很实用的。 1.更新源: 目前最快的源可能是CN99(我这里的速度可以达到5M的样子,有的人说可能软件不是特别的全,我倒是没有发现这个问题): deb ht

Jeffery Lee的专栏 1466

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 356

0.4 文件与文件夹:数据是怎么存放的,一篇讲清目录树

电脑里几万个文件怎么归类?本文讲清文件是有名字的数据单位、文件夹(目录)是可层层嵌套的收纳容器,二者共同构成目录树,最顶层是根目录;建立字节/KB/MB/GB 的大小直觉,介绍 Linux 一切皆文件的设计;用一张表讲清复制、移动、重命名、删除的区别,以及 Delete 进回收站、Shift+Delete 永久删除的差异;最后从安全视角讲文件上传(伪装脚本上传即 WebShell)与路径穿越(ZipSlip 把文件写到敏感位置),提醒凡是文件读写都要警惕路径被操纵。

一个安全白帽子的成长记录:Web 安全、漏洞复现、内网渗透。完整目录在 gysec.top 222

【Linux网络】TCP 服务器并发处理多客户端:从 fork 分发到双重 fork 彻底消灭僵尸进程

拆解 TCP 服务器并发演进链:fork 分发连接、SIGCHLD 循环回收僵尸、双重 fork 交孙进程给 init 收养,并给出模型选型与线上排错对照。

2301_78967866的博客 429

LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话

先说结论:我本地那个,一次都没成功过。三次,三次,全挂在拉镜像上。而顺得像刚上过油。这就很像我高中那辆自行车:骑着能走,一上锁就坏。那天晚上我盯着终端里那行红字看了很久,想的不是技术方案,想的是——为什么同一个工具,可以一边让我觉得自己很行,一边让我觉得自己不太行。

人工智能AI技术 119

【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork

本文详解多进程TCP服务器的实现原理,从单进程并发瓶颈出发,通过fork分离连接接收与服务职责。重点解析文件描述符继承机制、僵尸进程问题及双重fork解决方案,最终构建高效、稳定的多进程服务器模型,并说明服务器重启时可能因端口未释放导致绑定失败的原因。

2402_87731470的博客 2402

自建 Git 服务器和裸仓库差在哪:要能提合并请求

在一台 Linux 上 git init --bare 就能自建 Git 服务器,但它只能推拉代码,没有网页、合并请求、评审和按仓库分配的权限。对照裸仓库和 AngusGit 各自能做什么,再走一遍在 AngusGit 上发起合并请求的最短路径,以及已有裸仓库怎么完整搬过来。

AngusTester 325

VSCode_RemoteSSH_一直卡在下载服务器_解决教程

解决VSCode远程一直卡在下载服务器

m0_69395553的博客 98

架设一台NFS服务器

3、将/home/tom目录仅共享给192.168.100.136这台主机,并只有用户tom可以完全访问该目录。注意:tom是一个用户目录,并且在客户端创建tom用户一定与服务端的tom用户的uid/gid保持一致。2、开放/nfs/upload目录,为192.168.100.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210。1、开放/nfs/shared目录,供所有用户查询资料。架设一台NFS服务器,并按照以下要求配置。

2401_87595340的博客 239
上一篇: APACHE MOD 开发 Step 2 获取用户输入
下一篇: LXR安装
WEE
WEE
博客等级 码龄27年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值