summaryrefslogtreecommitdiff
path: root/server/src/luapraxisd.h
blob: 71225bf8ee11f0168f89ea10b8d4c0d48f9f2e2c (plain)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set et sw=2 ts=2: */
/***************************************************************************
 *            luapraxisd.h
 *
 *  Wed Apr 27 11:59:53 CEST 2011
 *  Copyright 2011 Bent Bisballe Nyeng
 *  deva@aasimon.org
 ****************************************************************************/

/*
 *  This file is part of Pracro.
 *
 *  Pracro is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  Pracro is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with Pracro; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.
 */
#ifndef __PRACRO_LUAPRAXISD_H__
#define __PRACRO_LUAPRAXISD_H__

#include <lua.hpp>

/***
 * Praxisd Class
 * @class Praxisd
 * @serverside
 * The praxisd class connects and handles communication with the praxisd
 * daemon process.
 */

/***
 * @method object Praxisd.new(string host, int port)
 * Create a new Praxisd connection object.
 * @param host The hostname to connect to.
 * @param port The port number to connect to.
 * @return The newly created communication object.
 * @example Create a new praxisd object:
 * px = Praxisd.new('localhost', 10000)
 */
int px_new(lua_State *L);

/***
 * @method stringlist praxisd:cavelist()
 * Get server cave list.
 * To retrieve cavelist for a patient see @see praxisd:getcave().
 * @return The complete list of known (possible) cave from the server.
 * @example Create a new praxisd object, get and print cavelist:
 * px = Praxisd.new('localhost', 10000)
 * lst = px:cavelist()
 * for i=0,#lst do
 *   print(lst[i])
 * end
 */
int px_cavelist(lua_State *L);

/***
 * @method stringlist praxisd:getcave(string patientid)
 * Get cave list from a patient.
 * To retrieve cavelist from the server see @see praxisd:cavelist(). To add cave
 * to a patient see @see praxisd:addcave().
 * @param patientid A string containing the patientid.
 * @return The list cave registered with the patient.
 * @example Create a new praxisd object, get and print cavelist:
 * px = Praxisd.new('localhost', 10000)
 * lst = px:getcave('1234567890')
 * for i=0,#lst do
 *   print(lst[i])
 * end
 */
int px_getcave(lua_State *L);

/***
 * @method nil praxisd:adddiagnose(string patientid, string diagnose, string text)
 * Add a diagnose to a patient.
 * @param patientid A string containing the patientid.
 * @param diagnose The diagnose code.
 * @param text A text to store with the diagnose code. The string mat be up to 6
 * characters long. If longer it will be trunkated.
 * @example Create a new praxisd object and add a diagnose:
 * px = Praxisd.new('localhost', 10000)
 * px:adddiagnose('1234567890', 'C0001', 'o.dxt')
 */
int px_adddiagnose(lua_State *L);

/***
 * @method nil praxisd:addbehandling(string patientid, string behandling, string text)
 * Add a behandling to a patient.
 * @param patientid A string containing the patientid.
 * @param diagnose The behandling code.
 * @param text A text to store with the behandling code. The string mat be up to 6
 * characters long. If longer it will be trunkated.
 * @example Create a new praxisd object and add a behandling:
 * px = Praxisd.new('localhost', 10000)
 * px:addbehandling('1234567890', 'B0001', 'o.sin')
 */
int px_addbehandling(lua_State *L);

/***
 * @method nil praxisd:addcave(string patientid, string cave, string text)
 * Add a cave entry to a patient. To retrieve list of cave from a patient
 * see @see praxisd:getcave().
 * @param patientid A string containing the patientid.
 * @param diagnose The cave string.
 * @param text A text to store with the cave entry. NOTE: This is not shown in
 * PCPraxis! The string mat be up to 6 characters long. If longer it will be
 * trunkated.
 * @example Create a new praxisd object and add a cave entry:
 * px = Praxisd.new('localhost', 10000)
 * px:addcave('1234567890', 'AZOPT', '')
 */
int px_addcave(lua_State *L);

void register_praxisd(lua_State *L);

#endif/*__PRACRO_LUAPRAXISD_H__*/