/KuszkAPI

[DEPRECATED] WinAPI object model

Primary LanguageC++GNU General Public License v2.0GPL-2.0

UWAGA

Ten projekt jest przestarzały (deprecated) - nie będzie on więcej wspierany.

KuszkAPI

Wstęp

Amatorski silnik pozwalający w łatwy sposób projektować programy zgodne z WinAPI, ShellAPI i WinSock używając obiektowo zorientowanych modeli do zarządzania kodem.

Zdaję sobie sprawę, że cała idea może wydawać się śmieszna i daremna, a także, że istnieje wiele podobnych silników, wydajniejszych i lepszych.

Jeśli znalazłeś błąd, masz jakieś propozycje lub uwagi, zgłoś to w bugtrackerze na GitHubie.

Licencja

Niniejszy program jest wolnym oprogramowaniem; możesz go rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania - według wersji 2-giej tej Licencji lub którejś z późniejszych wersji.

Niniejszy program rozpowszechniany jest z nadzieją, iż będzie on użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu uzyskania bliższych informacji - Powszechna Licencja Publiczna GNU.

Z pewnością wraz z niniejszym programem otrzymałeś też egzemplarz Powszechnej Licencji Publicznej GNU (GNU General Public License); jeśli nie - napisz do Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Założenia

Projekt powstał w celu zapoznania się z działaniem WinAPI oraz WinSock, a także w celu zrozumienia idei programowania obiektowego. Jako, że jest to dość wygodna forma zarządzania kodem stosuje ją w sowich programach.

Jeśli masz ochotę możesz korzystać z tego projektu na zasadzie licencji GNU GENERAL PUBLIC LICENSE v2.

Instalacja

Aby używać projektu należy rozpakować go w dowolne miejsce, a następnie dołączyć plik nagłówkowy KuszkAPI.hpp dyrektywą:

#include "<path to KuszkAPI root dir>/KuszkAPI.hpp".

Następnie do projektu należy dodać plik KuszkAPI.cpp i oznaczyć go jako "do budowy".

Gdy zamierzasz urzyć w projekcie szablonów pochodzących z dołączonego środowiska utwórz dowolny plik nagłówkowy, w którym wymienisz wszystkie użyte szablony, a następnie zdefiniuj globalne makro w projekcie:

KUSZKAPI_TEMPLATE_SPEC=\"[ścieżka do Twojego pliku z deklaracjami szablonów]\"

Przykładowa deklaracja użycia szablonu Mapy z parametrem klucza int, oraz typem danych bool:

template class KuszkAPI::Containers::Map<bool, int>;

Oraz przykład deklaracji użycia metody Read z klasy Klienta serwera, wraz z zastosowaniem skróconych nazw, gdzie jako parametr danych użyty zostanie typ char:

template unsigned SRV::Read<char>(ARA<char>&, unsigned);

Oczywiście możesz także w głównym pliku projektu umieścić poniższą dyrektywę:

#include "[path to KuszkAPI root dir]/KuszkAPI.cpp".

Musisz jednak pamiętać, że zbudowanie kilku plików źródłowych używających projektu może być niemożliwe.

Należy także wziąć pod uwagę, aby pliki nagłówkowe dołączane w windows.h były kompletne i zawierały wszystkie definicje (Common Control w wersji 6 lub nowszej). Domyślnie projekty będą budowane dla Windows XP+ i mogą nie działać poprawnie na poprzednich systemach.

Dokumentacja

Możesz wygenerować dokumentację samemu za pomocą programu Doxygen lub wysłać mi maila z prośbą o udostępnienie dokumentacji. Dokumentacja znajduję się też na moim serwerze, nie gwarantuję jednak, że będzie on czynny.

Aby wygenerować dokumentację użyj pliku Doxyfile znajdującego się w projekcie. Pamiętaj jednak aby odpowiednio nastawić katalog roboczy oraz katalog z kodem źródłowym.