|
Программирование C / C++ / Visual C++ / Delphi / Visual Basic / ASM / Windows / Pascal |
|
Опции темы | Оценить тему |
02.11.2009, 00:01 | #1 |
Почти участник
Регистрация: 02.02.2008
Сообщений: 1,843
Репутация: 5599
|
QOSCAR
Представляю класс для работы с протоколом OSCAR (ICQ/AIM) на C++ с фреймворком Qt.
Проект был начат недавно, и будет развиваться очень динамично. Буду рад, если кто-то пожелает присоединиться. Что умеет делать класс на данный момент (жирным выделено новое):
BUGS:
Текущая версия класса - 2.0.1 [22.07.2010] Исходные коды распространяются свободно, но с условием, что софт, написанный с использованием QOSCAR будет так же бесплатным и открытым. Спасибо: .fry, metal, astako, q1p, SunDagy Страница проекта на Google Code Последний раз редактировалось RankoR; 22.07.2010 в 10:54. |
13.01.2010, 20:22 | #2 |
Почти участник
Регистрация: 02.02.2008
Сообщений: 1,843
Репутация: 5599
|
Подключаешь к проекту на Qt файл qoscar.h, и объявляешь объект класса QOSCAR где-нибудь. Например
PHP код:
|
21.02.2010, 01:24 | #4 |
Почти участник
Регистрация: 02.02.2008
Сообщений: 1,843
Репутация: 5599
|
olegteror, ну-ка поподробнее =) Что компилер говорит?
Писалось как раз на 4.5, сейчас пишу на 4.6.2 - все ок (собирай из свн'а, qoscar.googlecode.com) Добавлено через 23 часа 53 минуты Класс обновлен, см 1 пост. Последний раз редактировалось RankoR; 22.02.2010 в 01:18. Причина: Добавлено сообщение |
22.02.2010, 11:39 | #5 | |
Участник
Регистрация: 20.02.2010
Сообщений: 14
Репутация: 5
|
Цитата:
Сначала Качал из свн.Пришлесь Убрать из проэкта файлы икс статусов)) Потом)) еще ошибки поперли ну собсно там где. ссылаеться на файл про иксы))) ну и потом откомпилил...собсно респект за либу такую на QT в свое время под никсами писал...на нем и такое как раз исскал)) но ненашел)) так что спасибо)) Если будут баги какие либо отпишусь. |
|
22.02.2010, 13:04 | #6 |
Почти участник
Регистрация: 02.02.2008
Сообщений: 1,843
Репутация: 5599
|
olegteror, ты мой проект собирал, или свой? Если свой, то нужно указывать все файлы в .pro до тех, в которых оно используется. Например, если ты юзаешь qoscar.h в mainwindow.h, то в файле .pro должны быть HEADERS и SOURCES в виде qoscar.h \ mainwindow.h и oscar.cpp \ mainwindow.cpp. Иначе линкер будет ругаться на undefined reference.
|
22.02.2010, 20:29 | #7 | ||
Участник
Регистрация: 20.02.2010
Сообщений: 14
Репутация: 5
|
Цитата:
Цитата:
|
||
Плюсанул olegteror : |
20.08.2010, 03:00 | #14 | |
Участник
Регистрация: 20.02.2010
Сообщений: 14
Репутация: 5
|
Цитата:
|
|
Плюсанул olegteror : |
15.10.2010, 11:59 | #15 |
Участник
Регистрация: 15.10.2010
Сообщений: 1
Репутация: 3
|
У меня все компилится под Qt 4.7.
Спасибо за либу. Использую библиотеку в системе уведомлений и запросов для внутреннего использования несколькими клиентами, так как все сидят в асе. Под Qt интересней не нашел - нужен был быстрый результат, именно эта библиотека его и дала. |
09.12.2010, 16:56 | #18 |
Почти участник
Регистрация: 02.02.2008
Сообщений: 1,843
Репутация: 5599
|
Примерно так:
Код:
QOscar *oscar = new QOscar(uin, password); connect(oscar, SIGNAL(onRoster(QOscar *)), this, SLOT(onOscarRoster(QOscar *))); oscar->login(); // Когда залогинимся - запрашиваем ростер oscar->requestRoster(); // void SomeClass::onOscarRoster(QOscar *sender) { // Можно получить доступ к ростеру QList<QRosterEntry> roster = sender->roster(); } |
19.03.2013, 12:05 | #19 |
Участник
Регистрация: 19.03.2013
Сообщений: 1
Репутация: 1
|
Привет всем! Интересный результат получаю при попытке залогиниться в тестовом виджете.
Код:
p, li { white-space: pre-wrap; } Запускается /home/tim/prog/qt/QOscar/testwidget-build-Desktop-_______/testwidget/QOSCAR2... [Main] {Message} Switching from State 0 to 1 [Main] {Message} Switching from State 1 to 2 [Main] {Message} Switching from State 2 to 3 [Main] {Message} Handling FLAPs... [Main] {Message} NEW_CHANNEL FLAP [Main] {Message} Switching from State 3 to 4 [Main] {Message} All FLAPs are handled! [Main] {Message} Write FLAP Channel 1 (1=login, 2=SNAC, 3=error, 4=disconnect) [Main] {Message} Switching from State 4 to 5 [Main] {Message} Handling FLAPs... [Main] {Message} CLOSE_CHANNEL FLAP [Main] {Message} Switching from State 5 to 6 TODO: eRateLimit? [Main] {Message} All TLVs are parsed! [Main] {Message} All FLAPs are handled! ASSERT: "0 && "unexpected socket connection"" in file ../../svn/qoscar/qoscar.cpp, line 443 Программа неожиданно завершилась. /home/tim/prog/qt/QOscar/testwidget-build-Desktop-_______/testwidget/QOSCAR2 завершился с кодом 0 IDE: QtCreator 2.6.1 OS: Linux 3.5.0-sabayon x86_64 GNU/Linux Код импортировал в автоматическом режиме с svn. Виджет запускается, однако после ввода данных и нажатия кнопки "login" виджет закрывается и ничего не происходит. Почему так? Может быть я что-то не так делаю? И еще один вопрос. В файле QOscar.cpp, в функции QOscar::QOscar увидел вот такую строчку. Код:
oscarCodec = "Windows-1251"; Добавлено через 1 час 55 минут Дальнейшая вычитка qoscar.cpp вот такой вот кусок кода с интеерсным комментарием: Код:
case 8: // \todo .. what means "8"? if ( tlv.getData().readU16() == 0x0005 ) { emit onError(eLogonFailed, this); setState(StError); } // else // emit onError(eRateLimit, this); //! \todo HACK!!! // setState(StError); qWarning() << "TODO: eRateLimit?"; break; Последний раз редактировалось cittim; 19.03.2013 в 14:01. Причина: Добавлено сообщение |