169 def __init__(self, name, args=[], argnames=[], lib="ATCORE"):
170 self.f = getattr(_stdcall_libraries[lib], name)
171 self.f.restype = c_int
172 self.f.argtypes = [stripMeta(a) for a in args]
173
174 self.fargs = args
175 self.fargnames = argnames
176 self.name = name
177
178 self.inp = [not isinstance(a, OUTPUT) for a in args]
179 self.in_args = [a for a in args if not isinstance(a, OUTPUT)]
180 self.out_args = [a for a in args if isinstance(a, OUTPUT)]
181
182 self.buf_size_arg_pos = -1
183 for i in range(len(self.in_args)):
184 if isinstance(self.in_args[i], _OUTSTRLEN):
185 self.buf_size_arg_pos = i
186
187 ds = name + "\n\nArguments:\n===========\n"
188 for i in range(len(args)):
189 an = ""
190 if i < len(argnames):
191 an = argnames[i]
192 ds += "\t%s\t%s\n" % (args[i], an)
193
194 self.f.__doc__ = ds
195