CUBRID Engine  latest
method_def.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2008 Search Solution Corporation
3  * Copyright 2016 CUBRID Corporation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 //
20 // method_def.hpp - define structures used by method feature
21 //
22 
23 #ifndef _METHOD_DEF_H_
24 #define _METHOD_DEF_H_
25 
26 typedef enum
27 {
32 
33 typedef enum
34 {
38 
39 #define VACOMM_BUFFER_HEADER_SIZE (OR_INT_SIZE * 3)
40 #define VACOMM_BUFFER_HEADER_LENGTH_OFFSET (0)
41 #define VACOMM_BUFFER_HEADER_STATUS_OFFSET (OR_INT_SIZE)
42 #define VACOMM_BUFFER_HEADER_NO_VALS_OFFSET (OR_INT_SIZE * 2)
43 #define VACOMM_BUFFER_HEADER_ERROR_OFFSET (OR_INT_SIZE * 2)
44 
45 typedef enum
46 {
50 } METHOD_TYPE;
51 
52 typedef struct method_sig_node METHOD_SIG;
54 {
55  /* method signature */
57  char *method_name; /* method name */
58  char *class_name; /* class for the method */
59  METHOD_TYPE method_type; /* instance or class method */
60  int num_method_args; /* number of arguments */
61  int *method_arg_pos; /* arg position in list file */
62 
63  method_sig_node () = default;
64 };
65 
67 {
68  /* signature for methods */
69  METHOD_SIG *method_sig; /* one method signature */
70  int num_methods; /* number of signatures */
71 
72  method_sig_list () = default;
73 };
75 
76 #endif // _METHOD_DEF_H_
method_sig_node()=default
METHOD_SIG * method_sig
Definition: method_def.hpp:69
char * method_name
Definition: method_def.hpp:57
METHOD_TYPE method_type
Definition: method_def.hpp:59
METHOD_CALL_STATUS
Definition: method_def.hpp:26
METHOD_TYPE
Definition: method_def.hpp:45
METHOD_SIG * next
Definition: method_def.hpp:56
VACOMM_BUFFER_CLIENT_ACTION
Definition: method_def.hpp:33
int * method_arg_pos
Definition: method_def.hpp:61