84 #include <uves_cpl_size.h>
96 #include <uves_dump.h>
99 #include <uves_error.h>
119 const cpl_property *prop;
123 CPL_ERROR_ILLEGAL_INPUT,
"Illegal range");
133 for (i = low; i < high; i++)
140 return cpl_error_get_code();
171 uves_msg(
"%s =", cpl_property_get_name(prop) != NULL ?
172 cpl_property_get_name(prop) :
"NULL");
176 check( t = cpl_property_get_type(prop),
"Could not read property type");
178 switch(t & (~CPL_TYPE_FLAG_ARRAY))
181 if (t & CPL_TYPE_FLAG_ARRAY)
183 uves_msg(
" '%s'", cpl_property_get_string(prop) != NULL ?
184 cpl_property_get_string(prop) :
"NULL");
188 uves_msg(
" %c", cpl_property_get_char(prop));
191 case CPL_TYPE_BOOL:
if (cpl_property_get_bool(prop))
196 case CPL_TYPE_UCHAR:
uves_msg(
" %c", cpl_property_get_char(prop));
break;
197 case CPL_TYPE_INT:
uves_msg(
" %d", cpl_property_get_int(prop));
break;
198 case CPL_TYPE_UINT:
uves_msg(
" %d", cpl_property_get_int(prop));
break;
199 case CPL_TYPE_LONG:
uves_msg(
" %ld", cpl_property_get_long(prop));
break;
200 case CPL_TYPE_ULONG:
uves_msg(
" %ld", cpl_property_get_long(prop));
break;
201 case CPL_TYPE_FLOAT:
uves_msg(
" %f", cpl_property_get_float(prop));
break;
202 case CPL_TYPE_DOUBLE:
uves_msg(
" %f", cpl_property_get_double(prop));
break;
203 case CPL_TYPE_POINTER:
uves_msg(
" POINTER");
break;
204 case CPL_TYPE_INVALID:
uves_msg(
" INVALID");
break;
205 default:
uves_msg(
" unrecognized property");
break;
209 if (t & CPL_TYPE_FLAG_ARRAY){
210 cpl_msg_info(cpl_func,
" (array size = %" CPL_SIZE_FORMAT
" )",
211 cpl_property_get_size(prop));
215 if (cpl_property_get_comment(prop) != NULL){
216 uves_msg(
" %s", cpl_property_get_comment(prop) != NULL ?
217 cpl_property_get_comment(prop) :
"NULL");
222 return cpl_error_get_code();
245 cpl_frameset_iterator* it = cpl_frameset_iterator_new(frames);
246 const cpl_frame *f = cpl_frameset_iterator_get_const(it);
257 cpl_frameset_iterator_advance(it, 1);
258 f = cpl_frameset_iterator_get_const(it);
261 cpl_frameset_iterator_delete(it);
265 return cpl_error_get_code();
286 const char *filename = cpl_frame_get_filename(f);
288 if (filename == NULL)
296 cpl_frame_get_tag(f) != NULL ? cpl_frame_get_tag(f) :
"Null",
304 return cpl_error_get_code();
319 case CPL_FRAME_TYPE_NONE:
return "NONE";
break;
320 case CPL_FRAME_TYPE_IMAGE:
return "IMAGE";
break;
321 case CPL_FRAME_TYPE_MATRIX:
return "MATRIX";
break;
322 case CPL_FRAME_TYPE_TABLE:
return "TABLE";
break;
323 default:
return "unrecognized frame type";
339 case CPL_FRAME_GROUP_NONE:
return "NONE";
break;
340 case CPL_FRAME_GROUP_RAW:
return CPL_FRAME_GROUP_RAW_ID;
break;
341 case CPL_FRAME_GROUP_CALIB:
return CPL_FRAME_GROUP_CALIB_ID;
break;
342 case CPL_FRAME_GROUP_PRODUCT:
return CPL_FRAME_GROUP_PRODUCT_ID;
break;
344 return "unrecognized frame group";
361 case CPL_FRAME_LEVEL_NONE:
return "NONE";
break;
362 case CPL_FRAME_LEVEL_TEMPORARY:
return "TEMPORARY";
break;
363 case CPL_FRAME_LEVEL_INTERMEDIATE:
return "INTERMEDIATE";
break;
364 case CPL_FRAME_LEVEL_FINAL:
return "FINAL";
break;
365 default:
return "unrecognized frame level";
384 if (!(t & CPL_TYPE_FLAG_ARRAY))
385 switch(t & (~CPL_TYPE_FLAG_ARRAY))
387 case CPL_TYPE_CHAR:
return "char";
break;
388 case CPL_TYPE_UCHAR:
return "uchar";
break;
389 case CPL_TYPE_BOOL:
return "boolean";
break;
390 case CPL_TYPE_INT:
return "int";
break;
391 case CPL_TYPE_UINT:
return "uint";
break;
392 case CPL_TYPE_LONG:
return "long";
break;
393 case CPL_TYPE_ULONG:
return "ulong";
break;
394 case CPL_TYPE_FLOAT:
return "float";
break;
395 case CPL_TYPE_DOUBLE:
return "double";
break;
396 case CPL_TYPE_POINTER:
return "pointer";
break;
398 case CPL_TYPE_INVALID:
return "invalid";
break;
400 return "unrecognized type";
403 switch(t & (~CPL_TYPE_FLAG_ARRAY))
405 case CPL_TYPE_CHAR:
return "string (char array)";
break;
406 case CPL_TYPE_UCHAR:
return "uchar array";
break;
407 case CPL_TYPE_BOOL:
return "boolean array";
break;
408 case CPL_TYPE_INT:
return "int array";
break;
409 case CPL_TYPE_UINT:
return "uint array";
break;
410 case CPL_TYPE_LONG:
return "long array";
break;
411 case CPL_TYPE_ULONG:
return "ulong array";
break;
412 case CPL_TYPE_FLOAT:
return "float array";
break;
413 case CPL_TYPE_DOUBLE:
return "double array";
break;
414 case CPL_TYPE_POINTER:
return "pointer array";
break;
416 case CPL_TYPE_INVALID:
return "invalid (array)";
break;
418 return "unrecognized type";
const cpl_property * uves_propertylist_get_const(const uves_propertylist *self, long position)
Access property list elements by index.
cpl_error_code uves_print_cpl_frame(const cpl_frame *f)
Print a frame.
const char * uves_tostring_cpl_frame_level(cpl_frame_level fl)
Convert a frame level to a string.
int uves_propertylist_is_empty(const uves_propertylist *self)
Check whether a property list is empty.
const char * uves_tostring_cpl_frame_type(cpl_frame_type ft)
Convert a frame type to a string.
cpl_error_code uves_print_cpl_property(const cpl_property *prop)
Print a property.
long uves_propertylist_get_size(const uves_propertylist *self)
Get the current size of a property list.
#define uves_msg(...)
Print a message on 'info' or 'debug' level.
const char * uves_tostring_cpl_type(cpl_type t)
Convert a CPL type to a string.
const char * uves_tostring_cpl_frame_group(cpl_frame_group fg)
Convert a frame group to a string.
#define uves_msg_debug(...)
Print a debug message.
cpl_error_code uves_print_uves_propertylist(const uves_propertylist *pl, long low, long high)
Print a property list.
cpl_error_code uves_print_cpl_frameset(const cpl_frameset *frames)
Print a frame set.