[prev in list] [next in list] [prev in thread] [next in thread]
List: licq-cvs
Subject: [Licq-cvs] licq/doc
From: Thomas Reitelbach <dreamforce2 () users ! sourceforge ! net>
Date: 2003-05-17 20:13:55
[Download RAW message or body]
Update of /cvsroot/licq/licq/doc
In directory sc8-pr-cvs1:/tmp/cvs-serv6780
Modified Files:
HINTS PLUGINS.HOWTO README.CodingStyle README.FIFO
Log Message:
replacing some tabs with whitespaces.
Index: HINTS
===================================================================
RCS file: /cvsroot/licq/licq/doc/HINTS,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- HINTS 28 Mar 2000 20:39:36 -0000 1.3
+++ HINTS 17 May 2003 20:13:53 -0000 1.4
@@ -3,7 +3,7 @@
o Use multiple accounts or just keep multiple user lists by using a
different base directory by runing licq with -b.
o You can pass plugins command line arguments simply by
- appending them to the command line after a --. ie
+ appending them to the command line after a --. ie
"licq -p qt-gui -- -g MOTIF"
o Use the licq_fifo file in your base directory (~/.licq) to change your
status, your auto response, or exit licq remotely or from a script. See
Index: PLUGINS.HOWTO
===================================================================
RCS file: /cvsroot/licq/licq/doc/PLUGINS.HOWTO,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- PLUGINS.HOWTO 2 Sep 1999 14:37:46 -0000 1.1.1.1
+++ PLUGINS.HOWTO 17 May 2003 20:13:53 -0000 1.2
@@ -46,8 +46,8 @@
LP_Main(). This is done simply by calling CICQDaemon::Register().
This function returns the descriptor of the pipe to listen on for
notification of signals and events. If a plugin exits without either
- calling CICQDaemon::Shutdown() or receiving a shutdown signal then it
- must call CICQDaemon::Unregister() to unregister itself.
+ calling CICQDaemon::Shutdown() or receiving a shutdown signal then it
+ must call CICQDaemon::Unregister() to unregister itself.
3. Each plugin must exit properly when it receives a PLUGIN_SHUTDOWN
character on the notification pipe. This simply involves calling
Index: README.CodingStyle
===================================================================
RCS file: /cvsroot/licq/licq/doc/README.CodingStyle,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- README.CodingStyle 7 Jan 2003 03:01:16 -0000 1.1
+++ README.CodingStyle 17 May 2003 20:13:53 -0000 1.2
@@ -1,224 +1,224 @@
THIS README IS INTENDED FOR DEVELOPERS
======================================
-
+
(use 2 spaces for tab-stops to read/modify this document)
-
+
Who should read this?
- This document is written for people who do development on Licq.
- Everyone who modifies parts of the source is a potential developer
- and should read on :)
-
+ This document is written for people who do development on Licq.
+ Everyone who modifies parts of the source is a potential developer
+ and should read on :)
+
What is this README all about?
- This document describes the preferred coding and
- documentation style for Licq and it's Plugins.
-
+ This document describes the preferred coding and
+ documentation style for Licq and it's Plugins.
+
Why should i code and document my source in a special way?
- Many people develop on the same code and everyone wants
- to easily read and understand it. You have your own style
- of coding of course and we respect this fact. But when
- you work on Licq sources you should respect our coding
- style as well and anyways it's a great improvement when
- we all agree to a common style so that everyone can easily
- read understand the code.
-
- The Documentation is generated automatically by a tool called
- Doxygen. It can provide descriptions and explanations for
- every class/method/slot/attribute/you-call-it of the source.
- This is very comfortable, but requires the source code to be
- commented in a special (easy) manner.
- It's no big deal and the result is brilliant, believe me! :-)
+ Many people develop on the same code and everyone wants
+ to easily read and understand it. You have your own style
+ of coding of course and we respect this fact. But when
+ you work on Licq sources you should respect our coding
+ style as well and anyways it's a great improvement when
+ we all agree to a common style so that everyone can easily
+ read understand the code.
+ The Documentation is generated automatically by a tool called
+ Doxygen. It can provide descriptions and explanations for
+ every class/method/slot/attribute/you-call-it of the source.
+ This is very comfortable, but requires the source code to be
+ commented in a special (easy) manner.
+ It's no big deal and the result is brilliant, believe me! :-)
+
Please also have a look at the Doxygen Website: http://www.doxygen.org
-
-
-
+
+
+
OK, WHAT ARE THE RULES? :)
==========================
+
+
+
+ Indentation:
+
+ Tabs are 2 characters, and thus indentations are also 2 characters.
+ The idea behind indentation is to clearly define where a block
+ of control starts and ends. Please keep this in mind and use
+ indentation when it's useful.
+
+
+
+ Placing braces:
+
+ Braces are an issue that comes up everytime in C(++) styling.
+ The preferred way to place braces for Licq developers is to
+ place braces on a line of its own:
+ if (x is true)
+ {
+ we do y
+ }
+
+ The closing brace is put on a line of its own, too:
-
- Indentation:
-
- Tabs are 2 characters, and thus indentations are also 2 characters.
- The idea behind indentation is to clearly define where a block
- of control starts and ends. Please keep this in mind and use
- indentation when it's useful.
-
-
-
- Placing braces:
-
- Braces are an issue that comes up everytime in C(++) styling.
- The preferred way to place braces for Licq developers is to
- place braces on a line of its own:
-
- if (x is true)
- {
- we do y
- }
-
- The closing brace is put on a line of its own, too:
-
- if (x is true)
- {
- we do y
- }
- else
- {
- we do z
- }
-
-
-
- Naming:
-
- Always try to choose short names. But always ensure that the
- name is descriptive enough to let code-readers know what the
- name stands for. If you need a variable that stores a
- temporary value, don't call it "ThisVariableIsATemporaryCounter",
- better call it "tmp".
- Use mixed case when you choose a descriptive name: "refCounter"
- the first character is always small.
- Put the object type in front of object name. In example a button
- is called "btnClose", a multi-line-edit is called "mleMyLongText".
- Same applies to functions, methods and slots.
-
-
-
+ if (x is true)
+ {
+ we do y
+ }
+ else
+ {
+ we do z
+ }
+
+
+
+ Naming:
+
+ Always try to choose short names. But always ensure that the
+ name is descriptive enough to let code-readers know what the
+ name stands for. If you need a variable that stores a
+ temporary value, don't call it "ThisVariableIsATemporaryCounter",
+ better call it "tmp".
+ Use mixed case when you choose a descriptive name: "refCounter"
+ the first character is always small.
+ Put the object type in front of object name. In example a button
+ is called "btnClose", a multi-line-edit is called "mleMyLongText".
+ Same applies to functions, methods and slots.
+
+
+
SOURCE DOCUMENTATION:
=====================
- Everything can get a brief and detailed description.
- You can add a brief (one-line) description by writing something
- like this:
-
- /*! \brief This is a short one-line description */
- void FooBar::slot_ok (bool bFoo)
- {
- }
-
- A detailed description can contain multiple lines and should
- be written like this:
+ Everything can get a brief and detailed description.
+ You can add a brief (one-line) description by writing something
+ like this:
- /*! This is a detailed description of class FooBar.
- * Please notice that a detailed description is spreaded
- * over multiple lines :)
- */
- void FooBar::FooBar (bool Foo, unsigned short Bar)
- {
- }
-
- The main difference between Doxygen and regulary C++ comments is the
- additional exclamation mark (!).
- Every description is written directly in front of the declaration of
- the object you want do describe.
- Please also have a look at Doxygen's website:
- http://www.doxygen.org
-
- Take a look at this complete example:
-
- --- example ---
- /*! \brief creates a add-user dialog.
- *
- * A new dialog window is created by this class. It provides a
- * QLineEdit which takes the UIN of the user who should be added.
- * In addition it contains a checkbox which indicates wether the
- * remote user should be notified or not.
- */
- class AddUserDlg (CICQDaemon *s, QWidget *parent)
- : QDialog(parent, "AddUserDialog")
- {
- public:
- AddUserDlg();
- ~AddUserDlg();
- }
- --- /example ---
+ /*! \brief This is a short one-line description */
+ void FooBar::slot_ok (bool bFoo)
+ {
+ }
+ A detailed description can contain multiple lines and should
+ be written like this:
+
+ /*! This is a detailed description of class FooBar.
+ * Please notice that a detailed description is spreaded
+ * over multiple lines :)
+ */
+ void FooBar::FooBar (bool Foo, unsigned short Bar)
+ {
+ }
+ The main difference between Doxygen and regulary C++ comments is the
+ additional exclamation mark (!).
+ Every description is written directly in front of the declaration of
+ the object you want do describe.
+ Please also have a look at Doxygen's website:
+ http://www.doxygen.org
- What, where, how?
- -----------------
-Classes:
- -> comments go inside *.h files
- -> always include a brief AND detailed description
+ Take a look at this complete example:
+ --- example ---
+ /*! \brief creates a add-user dialog.
+ *
+ * A new dialog window is created by this class. It provides a
+ * QLineEdit which takes the UIN of the user who should be added.
+ * In addition it contains a checkbox which indicates wether the
+ * remote user should be notified or not.
+ */
+ class AddUserDlg (CICQDaemon *s, QWidget *parent)
+ : QDialog(parent, "AddUserDialog")
+ {
+ public:
+ AddUserDlg();
+ ~AddUserDlg();
+ }
+ --- /example ---
+
+
+
+ What, where, how?
+ -----------------
+Classes:
+ -> comments go inside *.h files
+ -> always include a brief AND detailed description
+
Methods/Slots/ctor/dtor:
- -> comments go inside *.cpp files
- -> no brief, only detailed description
-
+ -> comments go inside *.cpp files
+ -> no brief, only detailed description
+
Attributes:
- -> comments go inside *.cpp OR *.h files
- (put your comment in front of the declaration, normally
- this will be in the header file)
- -> a detailed description is sufficient
-
-
-
- EXAMPLES:
- ---------
-
-
-
+ -> comments go inside *.cpp OR *.h files
+ (put your comment in front of the declaration, normally
+ this will be in the header file)
+ -> a detailed description is sufficient
+
+
+
+ EXAMPLES:
+ ---------
+
+
+
Commenting a class: ( myclass.h )
-------------------
-
- /*! \brief Here a brief one-line description :)
- *
- * And here begins the detailed description of MyDocumentedClass.
- * It consists of multiple lines and describes every important
- * thing regarding this Class!
- */
- class MyDocumentedClass (QWidget *parent, bool bFoo)
- {
- }
-
-
-
+
+ /*! \brief Here a brief one-line description :)
+ *
+ * And here begins the detailed description of MyDocumentedClass.
+ * It consists of multiple lines and describes every important
+ * thing regarding this Class!
+ */
+ class MyDocumentedClass (QWidget *parent, bool bFoo)
+ {
+ }
+
+
+
Commenting a Method/Slot/Constructor/Desctructor: ( myclass.cpp )
-------------------------------------------------
-
- /*! \brief Here a brief one-line description :)
- *
- * And here begins the detailed description of the slot ok()
- * Every detailed description can be multiple lines long.
- */
- void MyDocumentedClass::slot_okButtonPressed()
- {
- }
-
-
-
+
+ /*! \brief Here a brief one-line description :)
+ *
+ * And here begins the detailed description of the slot ok()
+ * Every detailed description can be multiple lines long.
+ */
+ void MyDocumentedClass::slot_okButtonPressed()
+ {
+ }
+
+
+
Commenting Attributes: ( myclass.cpp )
-----------------------
-
- /*! This QCheckBox indicates if we are cool or not */
- QCheckBox *chkAreWeCool;
- /*! This QLineEdit holds a value which is the UIN of the owner */
- QLineEdit *nUin;
-
-
+
+ /*! This QCheckBox indicates if we are cool or not */
+ QCheckBox *chkAreWeCool;
+ /*! This QLineEdit holds a value which is the UIN of the owner */
+ QLineEdit *nUin;
+
+
OK, THAT'S IT!
==============
+
+ Now close this doc and have
+ fun with the code :)
+
+ Thomas Reitelbach
+
+
+
+ post scriptum:
+ I borrowed the CodingStyle readme from the linux kernel tree
+ while writing this document. Some parts may look similar.
+ A big "thank you" goes to the kernel tree people :)
- Now close this doc and have
- fun with the code :)
-
- Thomas Reitelbach
-
-
-
- post scriptum:
- I borrowed the CodingStyle readme from the linux kernel tree
- while writing this document. Some parts may look similar.
- A big "thank you" goes to the kernel tree people :)
-
post post scriptum:
It is:
if (x)
{
- //
+ //
}
-
+
And NOT:
if (x) {
- //
+ //
}
Index: README.FIFO
===================================================================
RCS file: /cvsroot/licq/licq/doc/README.FIFO,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- README.FIFO 15 Mar 2003 01:11:27 -0000 1.3
+++ README.FIFO 17 May 2003 20:13:53 -0000 1.4
@@ -1,90 +1,90 @@
$Id$
DESCRIPTION
- There is a file called licq_fifo in the base directory, typically
- ~/.licq. This is a special device called a FIFO
- (for First-In-First-Out). You can write to this file just like
- any other file, although typically one uses
- echo something > licq_fifo.
+ There is a file called licq_fifo in the base directory, typically
+ ~/.licq. This is a special device called a FIFO
+ (for First-In-First-Out). You can write to this file just like
+ any other file, although typically one uses
+ echo something > licq_fifo.
QUOTING
- The <"> is used for quoting.
- Escape Sequences: (only valid in a quoted string)
- \n NL
- \t h tab
- \v v tab
- \b backspace (?)
- \r CR
- \f FF
- \a BEL
-
- Be careful of shell special characters like '"[],; etc. Escape these
- characters with a "\".
-
-FIFO COMMANDS
- <> is the "meta delimiter" (so don't type it)
- [] arguments are optional
-
- help <command>
- print commands help information.
-
- status <[*]<status>> <auto response>
- status: online, offline, na, away, occupied, dnd, ffc
- Sets the status of the current licq session to that given
- (precede the the status by a "*" for invisible mode)
-
- auto_response <auto response>
- Sets the auto response message without changing the current
- status.
-
- message <buddy> <message>
- Send a message to the given buddy.
-
- url <buddy> <url> [<description>]
- Send a url to the given buddy.
-
- sms <buddy> <message>
- Send a SMS to the given buddy.
-
- sms-number <number> <message>
- Send a SMS to the given cellular number.
-
- redirect <file>
- Redirects the stdout and stderr for licq to the given file
+ The <"> is used for quoting.
+ Escape Sequences: (only valid in a quoted string)
+ \n NL
+ \t h tab
+ \v v tab
+ \b backspace (?)
+ \r CR
+ \f FF
+ \a BEL
- debuglvl <level>
- Set what information is logged.
- See <level> in licq -h.
+ Be careful of shell special characters like '"[],; etc. Escape these
+ characters with a "\".
- adduser <buddy>
- Add a user to your contact list. note that buddy must be an uin
+FIFO COMMANDS
+ <> is the "meta delimiter" (so don't type it)
+ [] arguments are optional
- userinfo <buddy>
- Updates a buddy's user information
+ help <command>
+ print commands help information.
- exit
- Causes the licq session to shutdown.
+ status <[*]<status>> <auto response>
+ status: online, offline, na, away, occupied, dnd, ffc
+ Sets the status of the current licq session to that given
+ (precede the the status by a "*" for invisible mode)
- ui_viewevent [<buddy>]
- Shows the oldest pending event.
+ auto_response <auto response>
+ Sets the auto response message without changing the current
+ status.
- ui_message <buddy>
- Open the plugin's message composer to <buddy>.
+ message <buddy> <message>
+ Send a message to the given buddy.
- help <command>
- print commands help information.
+ url <buddy> <url> [<description>]
+ Send a url to the given buddy.
+
+ sms <buddy> <message>
+ Send a SMS to the given buddy.
+
+ sms-number <number> <message>
+ Send a SMS to the given cellular number.
+
+ redirect <file>
+ Redirects the stdout and stderr for licq to the given file
+
+ debuglvl <level>
+ Set what information is logged.
+ See <level> in licq -h.
+
+ adduser <buddy>
+ Add a user to your contact list. note that buddy must be an uin
+
+ userinfo <buddy>
+ Updates a buddy's user information
+
+ exit
+ Causes the licq session to shutdown.
+
+ ui_viewevent [<buddy>]
+ Shows the oldest pending event.
+
+ ui_message <buddy>
+ Open the plugin's message composer to <buddy>.
+
+ help <command>
+ print commands help information.
EXAMPLES
- $ LICQ_FIFO="$HOME/.licq/licq_fifo"
- # change the status. set an away message
- $ echo 'status *away "%a: Im away?"' > $LICQ_FIFO
- # send a message to John
- $ echo 'message John "\t H e l l o\n world"' > $LICQ_FIFO
- # send a message to 1234567
- $ echo 'message 1234567 "you are a lucky man"' > $LICQ_FIFO
- # send an URL to message to Bob
- $ echo 'url Bob http://www.licq.org "do you use it?" '
- # close licq
- $ echo 'exit' > $LICQ_FIFO
-
-
+ $ LICQ_FIFO="$HOME/.licq/licq_fifo"
+ # change the status. set an away message
+ $ echo 'status *away "%a: Im away?"' > $LICQ_FIFO
+ # send a message to John
+ $ echo 'message John "\t H e l l o\n world"' > $LICQ_FIFO
+ # send a message to 1234567
+ $ echo 'message 1234567 "you are a lucky man"' > $LICQ_FIFO
+ # send an URL to message to Bob
+ $ echo 'url Bob http://www.licq.org "do you use it?" '
+ # close licq
+ $ echo 'exit' > $LICQ_FIFO
+
+
\ No newline at end of file
-------------------------------------------------------
This SF.net email is sponsored by: If flattening out C++ or Java
code to make your application fit in a relational database is painful,
don't do it! Check out ObjectStore. Now part of Progress Software.
http://www.objectstore.net/sourceforge
_______________________________________________
Licq-cvs mailing list
Licq-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/licq-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic