Skocz do zawartości


Zdjęcie

AQQ Developer Network


  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 Beherit

Beherit

    In Sorte Diaboli

  • Wtyczkopisarz
  • 5031 postów

Napisano 2010.05.02, 21:05

Jak niektórzy wiedzą w końcu zacząłem pracę nad własną stroną z opisem wszystkich funkcji, notyfikacji jak i struktur zawartych w SDK komunikatora AQQ. Strona powstała z prostych względów: Oconnel nie kwapi się do zaktualizowania oficjalnej strony ADN no i w końcu trzeba gdzieś zlepić wszystkie informacje jakie są tutaj na forum i bugliście oraz jakie posiadają co niektórzy wtyczkopisarze. Jeżeli ktoś ma chęć pomóc mi w tym projekcie to niech napisze do mnie na jabber. W tym temacie będziemy (na obecną chwilę pomaga mi już AdamiXuS) również zadawać pytania jak nie uda się nam samemu rozszyfrować niektórych rzeczy. Dodam, że strona na razie stawia tylko na kod w języku C++ tak więc osoby piszące w innym języku będą musiały się posiłkować moimi nagłówkami. Gdy opis zostanie ukończony to na pewno dojdą przykłady w Delphi itd.

Adres strony AQQ Developer Network: http://adn.beherit.pl/.

Użytkownik Beherit edytował ten post 2012.03.07, 11:36


#2 Senega

Senega

    Początkujący

  • Wtyczkopisarz
  • 1401 postów

Napisano 2010.05.03, 06:31

Gratulację. Jak coś to od strony Delphi mogę coś pomóc. Jakieś przykłady też się znajdą.

Android - program telewizyjny Kropka TV http://goo.gl/AZyEE

Aktualnie bez AQQ - co na dobre mi wychodzi :tuptup:


#3 bartek-525

bartek-525

    Adept

  • Wtyczkopisarz
  • 273 postów

Napisano 2010.05.12, 15:08

Wreszcie będzie jakiś aktualny opis. Przyda się na pewno. Gratulacje.
Osoby piszące w Delphi pewnie i tak się w dużej części domyślą o co chodzi.

#4 Beherit

Beherit

    In Sorte Diaboli

  • Wtyczkopisarz
  • 5031 postów

Napisano 2010.08.13, 10:12

Trochę ciszy było odnośnie nieoficjalnej strony ADN ale zwyczajnie nie miałem czasu się nią zajmować. Powracam do projektu wraz z dawką pytań odnośnie SDK - być może ktoś ma jakaś wiedzę na temat braków jakie posiadam. Na pierwszy strzał idą struktury.

  • TPluginAction
    • PositionAfter
  • TPluginAddForm - do czego służy ta struktura
    • Agent
    • Modal
    • Custom
  • TPluginAddUser
    • Service
  • TPluginChatOpen
    • IsNewMsg
    • Priority
    • OriginJID
    • ImageIndex
    • AutoAccept
  • TPluginChatPresence
    • Ver
  • TPluginContact
    • Subscription, rodzaje subskrypcji:
      • SUB_FROM
      • SUB_TO
      • SUB_REMOVE
      • SUB_NONEASK
      • SUB_FROMASK
  • TPluginShowInfo
    • Event
      • tmePseudoStatus
      • tmePseudoMsg
      • tmePseudoMsgCap
      • tmeMsgCap
      • tmeAbuse
    • Tick
  • TPluginSmallInfo - do czego służy ta struktura
    • Text
  • TPluginSong
    • Position
  • TPluginToolTipItem
    • Tick
    • Event
      • TOOLTIP_EVENT_TITLE
      • TOOLTIP_EVENT_DAT
      • TOOLTIP_EVENT_AUTH
      • TOOLTIP_EVENT_ACTIVITY
    • Y1
    • Y2
    • Flag
  • TPluginWebBeforeNavEvent
    • Flags
    • TargetFrameName
    • PostData
    • Headers

Na razie tyle :) Gdyby ktoś wiedział co zawierają odpowiedni członkowie struktur lub za co odpowiada struktura to proszę o posta na forum najlepiej :) Nie obraził bym się gdyby sam Oconnel trochę podpowiedział :D

#5 karololszak

karololszak

    podróżnik w czasie

  • Moderator
  • 1562 postów

Napisano 2010.08.13, 10:33

@Beherit: 4,5 - klik! :)

#Edit: ah, fakt, brakuje tych co wymieniłeś :P Szkoda, chciałem pomóc ;)

Użytkownik karololszak edytował ten post 2010.08.13, 10:42


#6 Beherit

Beherit

    In Sorte Diaboli

  • Wtyczkopisarz
  • 5031 postów

Napisano 2010.08.13, 10:37

Karol zauważ, że nie ma tam opisanego członka Ver ;)

#7 Oconnel

Oconnel

    AQQ Developer

  • Właściciel
  • 4622 postów

Napisano 2010.08.13, 10:51

Sorry za ewentualny trywialny język ale pisałem to na szybko.

ad1.

PositionAfter może zawierać nazwę akcji za którą powinien zostać dodany nowy element w menu.

ad2.
Struktura wykorzystywana przy funkcji AQQ_CONTACTS_ADDFORM (jako lParam). Otwiera okno dodawania nowego kontaktu. Agent określa rodzaj kontaktu, podawany jest tutaj JID zwracany przez serwer jabbera w odpowiednich pakietach XML informujących o dostępnych serwisach. Modal określa czy okno ma być otwarte modlanie rzecz jasna. A Custom jest wykorzystywany przy wtyczkach sieciowych, podajemy tam własną nazwę agenta (nie otrzymaną od serwera jabbera, ale inną unikatową dla wtyczki).

ad3.
Chodzi o dodawanie nowych kontaktów do listy przy pomocy AQQ_CONTACTS_ADD (lparam to tpluginadduser). Service określa po prostu najczęściej serwer do którego jest dodawany kontakt - faktyczny serwer może być bowiem różny od domeny zawartej w JID. Czysto informacyjny element.

ad4.
Odnosi się do funkcji AQQ_SYSTEM_CHAT_OPEN (lParam = TPluginChatOpen) otwierającej nową rozmowę konferencyjną obsługiwaną przez wtyczkę sieciową. I tak, pole IsNewMsg określa czy jest jakaś nowa wiadomość (podświetla okno w pasku zadań), Priority wskazuje czy zakładka ma mieć focus, OriginJID określa unikatowy jid dla pokoju, ImageIndex zawiera indeks ikony użyty na zakładce, AutoAccept określa czy użytkownik musi wyrazić zgodę na przystąpienie do czata.

ad5.
http://xmpp.org/exte...5.html#discover

ad6.
http://xmpp.org/exte...s/xep-0162.html

ad7.
Są to po prostu typy które w różny sposób wyświetlają informacje w chmurce informacyjnej. Jedne mają bold inne nie, jedne są klikalne drugie nie. Najlepiej wypróbować samemu. A co do Tick, to odpowiednie linie które dodajemy do chmurki łączy właśnie Tick (korzystaj z GetTickCount). Możemy dodać event typu PseudoMsgCap a potem PseudoMsg podając ten sam Tick. W ten sposób AQQ wie że oba eventy łączą się w jedną całość np. tytuł i opis.

ad8.
Zawiera zwrócony JID (czyli to samo co zwraca sama funkcja, tylko że funkcja zwraca wskaźnik na JID, a struktura Text jest wypełniana przez wtyczkę). Zależy jak kto woli i jak jest pisana wtyczka, jedno i to samo.

ad9.
Pozycja na playliście.

ad10.
Stałe opisujące typy liń które można dodawać do hinta (po najechaniu np. na ikonę statusu). Różne typy są wyświetlane innymi kolorami i inną czcionką w zależności od użytej stałej. Jest więc tytuł hinta, Data to typowa zawartość, Status - opis kontaktu, Auth - rodzaj subskrypcji, Activity - ostatnia aktywność. Tick w tym wypadku jest użyty tak samo jak w przypadku chmurki informacyjnej o której pisałem wcześniej. Y1, Y2 określa punkt X,Y wyświetlenie hinta. Flag - na razie brak wykorzystania.

ad11.
Struktura wysyłana do wtyczki przy pomocy funkcji AQQ_CONTROLS_WEBBROWSER_BEFORENAV (jako lParam). Wywoływana zanim dodana przez wtyczkę kontrolka IE przejdzie na nową stronę (można użyć do wykrywania np. klików w dany lnik, obiekt i anulowanie przejścia). Pól tłumaczyć nie trzeba bo są to te same pola które zobaczysz w kontrolce IE w odpowiednim evencie (BeforeNavigate). Zwracając 1 pozwalamy na przejście pod nowy adres, zwracając 2 nie pozwalamy. Zwracając 0 zgadzamy się na defaultową akcje.
MyPortalYouTubeTwitter54slty.png

#8 Beherit

Beherit

    In Sorte Diaboli

  • Wtyczkopisarz
  • 5031 postów

Napisano 2010.08.13, 12:28

Dzięki Oconnel! To mi sporo pomogło :) Niedługo zajmę się opisywaniem funkcji więc pewnie będę miał kolejne pytania :P

#9 Beherit

Beherit

    In Sorte Diaboli

  • Wtyczkopisarz
  • 5031 postów

Napisano 2011.03.15, 20:17

Strona doczekała się w końcu swojej kompletnej aktualizacji! Na chwilę obecną opisane są wszystkie notyfikacje, funkcje jak i i struktury. Niestety w pewnych miejscach są jeszcze drobne błędy i braki - pracuję nad tym :) W każdym bądź razie w przeciwieństwie do oficjalnej strony z opisem SDK na mojej będę się starał dawać bardziej szczegółowe opisy z dodatkowymi przykładami jeżeli będą potrzebne. Jeżeli zauważycie jakieś braki czy błędy to zachęcam do korzystania z systemu zgłaszania błędów znajdującego się na stronie :)
  • Lord ByRad i kr2ysiek lubią to




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych