-
Notifications
You must be signed in to change notification settings - Fork 29
/
HACKING
27 lines (27 loc) · 1.53 KB
/
HACKING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Developers:
- Please keep the current coding style in Ekiga and put comments.
Functions descriptions should have 3 fields: DESCRIPTION, BEHAVIOR
and PRE. PRE means the set of conditions on the parameters to be
sure that the function works.
- About gconf: All notifiers and all gconf_client_notify_add must be
in config.cpp. The callback that updates the gconf cache must be
located in the file containing the widget associated to the
callback. Some general callbacks for toggles, entries, option menus
are located in gconf.cpp.
- Options: Ekiga follows the "Instant Apply" model.
- The way to include things is the following: include the Ekiga
headers before the others. All the .h files should contain #include
"common.h" as first include because it will itself include a ptlib
file containing compilation flags required to have a well-working
Ekiga. The .h corresponding to the .cpp file must be included
before the other includes. Libraries headers includes must follow
the application headers includes. ../config.h must be included
before the rest in all .cpp files.
- Doxygen: We suggest the JavaDoc style. It takes a "!" as designator
after a normal C/C++ comment begin. This is followed by specific
keywords. See the code for examples, such as
lib/engine/videoinput/videinput-manager.h.
- Encoding: Ekiga is completely UTF-8. The only exception is that the
(audio/video) device names are in latin-1 for Linux <= 2.6.29, and
system codepage for Windows. The latin2utf and utf2latin functions
take care of that.