hkl-pseudoaxis-private: hkl Reference Manual

## hkl-pseudoaxis-private hkl-pseudoaxis-private |

## Functions

#define | HKL_MODE_INFO_RO()
#define | HKL_MODE_INFO()
#define | HKL_MODE_INFO_RO_WITH_PARAMS()
#define | HKL_MODE_INFO_WITH_PARAMS()
#define | HKL_ENGINE_INFO()
#define | HKL_ENGINE_LIST_INFO()
return | g_quark_from_static_string ()
return | darray_item ()
return | hkl_engine_list_new_with_info ()

## Types and Values

typedef | darray_mode
struct | HklModeInfo
struct | HklModeOperations
#define | HKL_MODE_OPERATIONS_DEFAULTS
struct | HklMode
HklModeAutoWithInit * | self
struct | HklEngineInfo
| HklEngine
struct | HklEngineListInfo
#define | HKL_ENGINE_LIST_INFO_DEFAULTS
struct | HklEngineListOperations
#define | HKL_ENGINE_LIST_OPERATIONS_DEFAULTS
| HklEngineList
#define | HKL_ENGINE_ERROR
enum | HklEngineError
uint | i
struct | HklEngineOperations
#define | HKL_ENGINE_OPERATIONS_DEFAULTS
HklParameter * | axis
#define | HKL_ENGINE_LIST_ERROR
enum | HklEngineListError

## Description

## Functions

### HKL_MODE_INFO_RO()

    #define HKL_MODE_INFO_RO(_name, _axes) .name=_name, .axes_r=DARRAY(_axes)

### HKL_MODE_INFO()

    #define HKL_MODE_INFO(_name, _axes_r, _axes_w) HKL_MODE_INFO_RO((_name), (_axes_r)), .axes_w=DARRAY((_axes_w))

### HKL_MODE_INFO_RO_WITH_PARAMS()

    #define HKL_MODE_INFO_RO_WITH_PARAMS(_name, _axes, _parameters) HKL_MODE_INFO_RO((_name), (_axes)), .parameters=DARRAY(_parameters)

### HKL_MODE_INFO_WITH_PARAMS()

    #define             HKL_MODE_INFO_WITH_PARAMS(_name, _axes_r, _axes_w, _parameters)

### HKL_ENGINE_INFO()

    #define             HKL_ENGINE_INFO(_name, _pseudo_axes, _dependencies)

### HKL_ENGINE_LIST_INFO()

    #define HKL_ENGINE_LIST_INFO(_parameters) .parameters = DARRAY(_parameters)

### g_quark_from_static_string ()

    return
    g_quark_from_static_string ();

### darray_item ()

    return
    darray_item ();

### hkl_engine_list_new_with_info ()

    return
    hkl_engine_list_new_with_info ();

default constructor with info part

[skip]

#### Parameters

info | the info part of the HklEngineList |

## Types and Values

### darray_mode

    typedef darray(HklMode *) darray_mode;

### struct HklModeInfo

    struct HklModeInfo {
    	const char *name;
    	const darray_string axes_r;
    	const darray_string axes_w;
    	const darray(const HklParameter) parameters;
    };

### struct HklModeOperations

    struct HklModeOperations {
    	unsigned long capabilities;

    	void (* free)(HklMode *self);
    	int (* initialized_get)(const HklMode *self);
    	int (* initialized_set)(HklMode *self,
    				HklEngine *engine,
    				HklGeometry *geometry,
    				HklDetector *detector,
    				HklSample *sample,
    				int initialized,
    				GError **error);
    	int (* get)(HklMode *self,
    		    HklEngine *engine,
    		    HklGeometry *geometry,
    		    HklDetector *detector,
    		    HklSample *sample,
    		    GError **error);
    	int (* set)(HklMode *self,
    		    HklEngine *engine,
    		    HklGeometry *geometry,
    		    HklDetector *detector,
    		    HklSample *sample,
    		    GError **error);
    };

### HKL_MODE_OPERATIONS_DEFAULTS

    #define             HKL_MODE_OPERATIONS_DEFAULTS

### struct HklMode

    struct HklMode {
    	const HklModeInfo *info;
    	const HklModeOperations *ops;
    	darray_parameter parameters;
    	darray_string parameters_names;
    	int initialized;
    };

### self

    	HklModeAutoWithInit *self = container_of(mode, HklModeAutoWithInit, mode);

### struct HklEngineInfo

    struct HklEngineInfo {
    	const char *name;
    	const darray(const HklParameter *) pseudo_axes;
    	unsigned int dependencies;
    };

### HklEngine

    typedef struct {
    	const HklEngineInfo *info;
    	const HklEngineOperations *ops;
    	HklGeometry *geometry;
    	HklDetector *detector;
    	HklSample *sample;
    	HklMode *mode; /* not owned */
    	HklEngineList *engines; /* not owned */
    	darray_parameter axes;
    	darray_parameter pseudo_axes;
    	darray_string pseudo_axis_names;
    	darray_mode modes;
    	darray_string mode_names;
    } HklEngine;

### struct HklEngineListInfo

    struct HklEngineListInfo {
    	const darray(const HklParameter *) parameters;
    };

### HKL_ENGINE_LIST_INFO_DEFAULTS

    #define HKL_ENGINE_LIST_INFO_DEFAULTS .parameters = darray_new()

### struct HklEngineListOperations

    struct HklEngineListOperations {
    	void (* free)(HklEngineList *self);
    	int (* post_engine_set)(HklEngineList *self);
    };

### HKL_ENGINE_LIST_OPERATIONS_DEFAULTS

    #define             HKL_ENGINE_LIST_OPERATIONS_DEFAULTS

### HklEngineList

    typedef struct {
    	_darray(HklEngine *); /* must be the first memeber */
    	const HklEngineListInfo *info;
    	const HklEngineListOperations *ops;
    	HklGeometryList *geometries;
    	HklGeometry *geometry;
    	HklDetector *detector;
    	HklSample *sample;
    	darray_parameter pseudo_axes;
    	darray_parameter parameters;
    	darray_string parameters_names;
    } HklEngineList;

### HKL_ENGINE_ERROR

    #define HKL_ENGINE_ERROR hkl_engine_error_quark ()

### enum HklEngineError

#### Members

HKL_ENGINE_ERROR_PSEUDO_AXIS_VALUES_GET |  |
HKL_ENGINE_ERROR_PSEUDO_AXIS_VALUES_SET |  |
HKL_ENGINE_ERROR_PSEUDO_AXIS_SET |  |
HKL_ENGINE_ERROR_INITIALIZE |  |
HKL_ENGINE_ERROR_SET |  |
HKL_ENGINE_ERROR_GET |  |
HKL_ENGINE_ERROR_PARAMETER_GET |  |
HKL_ENGINE_ERROR_PARAMETER_SET |  |
HKL_ENGINE_ERROR_CURRENT_MODE_SET |  |

### i

    	uint i = 0;

### struct HklEngineOperations

    struct HklEngineOperations {
    	void (*free)(HklEngine *self);
    };

### HKL_ENGINE_OPERATIONS_DEFAULTS

    #define HKL_ENGINE_OPERATIONS_DEFAULTS .free=hkl_engine_free_real

### axis

    			HklParameter *axis = hkl_geometry_get_axis_by_name(self->geometry,

### HKL_ENGINE_LIST_ERROR

    #define HKL_ENGINE_LIST_ERROR hkl_engine_list_error_quark ()

### enum HklEngineListError

#### Members

HKL_ENGINE_LIST_ERROR_ENGINE_GET_BY_NAME |  |
HKL_ENGINE_LIST_ERROR_PSEUDO_AXIS_GET_BY_NAME |  |
HKL_ENGINE_LIST_ERROR_PARAMETER_GET |  |
HKL_ENGINE_LIST_ERROR_PARAMETER_SET |  |