Fri, 05 Dec 2008 23:14:02 +0100
Port to the Qt4 API and bump version pending release engineering.
michael@1 | 1 | ## |
michael@1 | 2 | ## OSSP asgui - Accounting system graphical user interface |
michael@3 | 3 | ## Copyright (c) 2002-2008 The OSSP Project (http://www.ossp.org/) |
michael@3 | 4 | ## Copyright (c) 2002-2008 Ralf S. Engelschall <rse@engelschall.com> |
michael@3 | 5 | ## Copyright (c) 2002-2008 Michael Schloh von Bennewitz <michael@schloh.com> |
michael@3 | 6 | ## Copyright (c) 2002-2008 Cable & Wireless Telecommunications Services GmbH |
michael@1 | 7 | ## |
michael@1 | 8 | ## This file is part of OSSP asgui, an accounting system graphical user |
michael@3 | 9 | ## interface which can be found at http://asgui.europalab.com/. |
michael@1 | 10 | ## |
michael@1 | 11 | ## Permission to use, copy, modify, and distribute this software for |
michael@1 | 12 | ## any purpose with or without fee is hereby granted, provided that |
michael@1 | 13 | ## the above copyright notice and this permission notice appear in all |
michael@1 | 14 | ## copies. |
michael@1 | 15 | ## |
michael@1 | 16 | ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
michael@1 | 17 | ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
michael@1 | 18 | ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
michael@1 | 19 | ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
michael@1 | 20 | ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
michael@1 | 21 | ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
michael@1 | 22 | ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
michael@1 | 23 | ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
michael@1 | 24 | ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
michael@1 | 25 | ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
michael@1 | 26 | ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
michael@1 | 27 | ## SUCH DAMAGE. |
michael@1 | 28 | ## |
michael@1 | 29 | ## as-events.pod: Plain old documentation file |
michael@1 | 30 | ## |
michael@1 | 31 | |
michael@1 | 32 | =pod |
michael@1 | 33 | |
michael@1 | 34 | =head1 NAME |
michael@1 | 35 | |
michael@1 | 36 | B<as-events> - accounting system events document format |
michael@1 | 37 | |
michael@1 | 38 | =head1 DESCRIPTION |
michael@1 | 39 | |
michael@1 | 40 | The B<as-gui> application takes input from the user and may store its data to |
michael@1 | 41 | a file on the local filesystem. Among other functions, a user can enter time, |
michael@1 | 42 | amounts, remarks, and other values. This data tuple is termed an I<event>, and |
michael@1 | 43 | may either be transmitted to a B<AS> server or stored to a local file. Should |
michael@1 | 44 | it be stored to a local file, the file name is arbitrary and is shown in the |
michael@1 | 45 | title bar of B<as-gui>. Typically, the file is called F<events.as>. In most |
michael@1 | 46 | cases the postfix B<.as> is appended to the file name, although this behaviour |
michael@1 | 47 | can be turned on or off through the user preferences. |
michael@1 | 48 | |
michael@1 | 49 | =head1 FILE FORMAT |
michael@1 | 50 | |
michael@1 | 51 | The B<as-events> file contains ASCII text. The first line consists of an |
michael@1 | 52 | identifier to associate the file type and version. Following text may contain |
michael@1 | 53 | white space, comments, and data tuples. |
michael@1 | 54 | |
michael@1 | 55 | =head1 GRAMMAR |
michael@1 | 56 | |
michael@1 | 57 | B<events.as> ::= B<eventsid> B<tuplelist> |
michael@1 | 58 | |
michael@1 | 59 | B<eventsid> ::= "%!AS-EVENTS-" [0-9] '.' [0-9] |
michael@1 | 60 | |
michael@1 | 61 | B<tuplelist> ::= B<tuplelist> | B<tuple> | B<comment> | EMPTY |
michael@1 | 62 | |
michael@1 | 63 | B<tuple> ::= B<user> B<uuid> B<crc> B<revision> B<date> B<begin> B<end> B<amount> B<account> B<remark> |
michael@1 | 64 | |
michael@1 | 65 | B<comment> ::= ($#.*) |
michael@1 | 66 | |
michael@1 | 67 | (* user field *) |
michael@1 | 68 | |
michael@1 | 69 | B<user> ::= [a-zA-Z][a-zA-Z0-9]+ |
michael@1 | 70 | |
michael@1 | 71 | (* uuid field *) |
michael@1 | 72 | |
michael@1 | 73 | B<uuid> ::= B<hexoctet> '-' B<hexquartet> '-' B<hexquartet> '-' B<hexquartet> '-' B<hextwelvetet> |
michael@1 | 74 | |
michael@1 | 75 | (* crc field *) |
michael@1 | 76 | |
michael@1 | 77 | B<crc> ::= B<hexoctet> |
michael@1 | 78 | |
michael@1 | 79 | B<hextwelvetet> ::= B<hexoctet> | B<hexquartet> |
michael@1 | 80 | |
michael@1 | 81 | B<hexoctet> ::= B<hexquartet> | B<hexquartet> |
michael@1 | 82 | |
michael@1 | 83 | B<hexquartet> ::= B<hexdigit> | B<hexdigit> | B<hexdigit> | B<hexdigit> |
michael@1 | 84 | |
michael@1 | 85 | B<hexdigit> ::= B<a-zA-Z0-9> |
michael@1 | 86 | |
michael@1 | 87 | (* revision field *) |
michael@1 | 88 | |
michael@1 | 89 | B<revision> ::= [0-9] |
michael@1 | 90 | |
michael@1 | 91 | (* date field *) |
michael@1 | 92 | |
michael@1 | 93 | B<date> ::= [0-9][0-9][0-9][0-9] '-' [01][0-9] '-' [0123][0-9] |
michael@1 | 94 | |
michael@1 | 95 | (* time fields *) |
michael@1 | 96 | |
michael@1 | 97 | B<begin> ::= B<timeval> |
michael@1 | 98 | |
michael@1 | 99 | B<end> ::= B<endval> |
michael@1 | 100 | |
michael@1 | 101 | B<amount> ::= B<timeval> |
michael@1 | 102 | |
michael@1 | 103 | B<timeval> ::= B<hourval> ':' B<minuteval> |
michael@1 | 104 | |
michael@1 | 105 | B<endval> ::= B<hourinc> ':' B<minuteval> |
michael@1 | 106 | |
michael@1 | 107 | B<hourval> ::= [01][0-9] |
michael@1 | 108 | |
michael@1 | 109 | B<hourinc> ::= B<hourval> | 2[0-4] |
michael@1 | 110 | |
michael@1 | 111 | B<minval> ::= [0-5][0-9] |
michael@1 | 112 | |
michael@1 | 113 | (* account field *) |
michael@1 | 114 | |
michael@1 | 115 | B<account> ::= B<account> | B<accpart> |
michael@1 | 116 | |
michael@1 | 117 | B<accpart> ::= B<accsep> B<acctext> |
michael@1 | 118 | |
michael@1 | 119 | B<accsep> ::= '/' |
michael@1 | 120 | |
michael@1 | 121 | B<acctext> ::= [a-zA-Z0-9_-]* |
michael@1 | 122 | |
michael@1 | 123 | (* remark field *) |
michael@1 | 124 | |
michael@1 | 125 | B<remark> ::= '"' .* '"' |
michael@1 | 126 | |
michael@1 | 127 | =head1 EXAMPLE |
michael@1 | 128 | |
michael@1 | 129 | A typical B<as-events> file might look like this: |
michael@1 | 130 | |
michael@1 | 131 | %!AS-EVENTS-0.6 |
michael@1 | 132 | harvey 0ccf1d42-743b-43df-9b5d-202451b3c26f e8f212b6 0 2002-09-30 00:00 00:00 02:00 /it/development/meeting/weekly "Code review" |
michael@1 | 133 | harvey 9c497382-ae88-4a1a-91b5-202451b3c26f c8637e9a 0 2002-09-30 00:00 00:00 00:30 /it/common/office/communication "Conference call" |
michael@1 | 134 | harvey e230eae7-367f-4c35-bee1-202451b3c26f 02cb1abb 0 2002-09-30 00:00 00:00 00:30 /sales/travel/customer "Simontech visit" |
michael@1 | 135 | |
michael@1 | 136 | =head1 SEE ALSO |
michael@1 | 137 | |
michael@1 | 138 | as-gui(1), |
michael@1 | 139 | as-gui.conf(5), |
michael@1 | 140 | as-accounts(5), |
michael@1 | 141 | |
michael@1 | 142 | =cut |