Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4680 right-hear 1
 
2
#define __arggetter_h__
3
4
 
5
6
 
7
 
8
 
9
LispString * GetIntegerArgument(LispEnvironment& aEnvironment, LispInt aStackTop, LispInt iArgNr);
10
/// Get a string (atom)
11
LispString * GetStringArgument(LispEnvironment& aEnvironment, LispInt aStackTop, LispInt iArgNr);
12
/// Get the atomic string of the argument
13
LispString * GetAtomArgument(LispEnvironment& aEnvironment, LispInt aStackTop, LispInt iArgNr);
14
/// Get an argument that should be a short integer
15
LispInt GetShortIntegerArgument(LispEnvironment& aEnvironment, LispInt aStackTop, LispInt iArgNr);
16
/// Get a list argument
17
void GetListArgument(LispPtr& aResult, LispEnvironment& aEnvironment, LispInt aStackTop, LispInt iArgNr);
18
/// Get a void* pointer to a struct encapsulated in a generic class
19
void* GetVoidStruct(LispEnvironment& aEnvironment, LispInt aStackTop, LispInt iArgNr, LispChar * aTypeString);
20
21
 
22
 
23
#define IntegerArgument(_i,_argnr) LispString * _i = GetIntegerArgument(aEnvironment,aStackTop,_argnr)
24
#define ShortIntegerArgument(_i,_argnr) LispInt _i = GetShortIntegerArgument(aEnvironment,aStackTop,_argnr)
25
#define InpStringArgument(_i,_argnr) LispChar * _i = GetStringArgument(aEnvironment,aStackTop,_argnr)->c_str()
26
27
 
28
#define VoidStructArgument(_typ,_i,_argnr,_name) _typ _i = (_typ)GetVoidStruct(aEnvironment,aStackTop,_argnr,_name)
29
30
 
31
 
32
                        LispPtr& aResult, LispInt r);
33
void SetShortIntegerConstant(LispEnvironment& aEnvironment,
34
                                    LispChar * aName,
35
                                    LispInt aValue);
36
double GetDoubleFloatArgument(LispEnvironment& aEnvironment, LispInt aStackTop, LispInt iArgNr);
37
void ReturnDoubleFloat(LispEnvironment& aEnvironment,LispPtr& aResult, double r);
38
void ReturnVoidStruct(LispEnvironment& aEnvironment,
39
                      LispPtr& aResult,
40
                      LispChar * aName,
41
                      void* aData,
42
                      void (*aFree)(void*));
43
44
 
45
 
46