You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
4.5 KiB

/*==============================================================================
Copyright (c) 2003-2005 UGS Corporation
Unpublished - All Rights Reserved
==============================================================================*/
/**
@file
This file contains PFF ITK for general public.
*/
/* */
#ifndef PFF_H
#define PFF_H
#include <unidefs.h>
/**
@defgroup PFF Property Formatter and Finder (PFF)
@ingroup QRY
@{
*/
/**
@name Define attribute size
@{
*/
#define PFF_name_size_c 128
#define PFF_desc_size_c 240
#define PFF_class_size_c 32
#define PFF_clause_size_c 240
/** @} */
#include <qry/libqry_exports.h>
/**
Defined for report writer user exits
*/
typedef int (* REPORT_user_column_function_t) (
tag_t pff_tag,
tag_t* obj_tags,
int n_tags,
char** output
);
typedef struct REPORT_user_column_entry_s
{
char* column_name;
REPORT_user_column_function_t user_method;
} REPORT_user_column_entry_t;
#ifdef __cplusplus
extern "C"{
#endif
/**
Retrieves the name
*/
extern QRY_API int PFF_ask_name2(
tag_t pff_tag, /**< (I) */
char **qname /**< (OF) */
);
/**
Sets the name
*/
extern QRY_API int PFF_set_name2(
tag_t pff_tag, /**< (I) */
const char *qname /**< (I) */
);
/**
Retrieves the description
*/
extern QRY_API int PFF_ask_description2(
tag_t pff_tag, /**< (I) */
char **qdesc /**< (OF) */
);
/**
Sets the description.
*/
extern QRY_API int PFF_set_description2(
tag_t pff_tag, /**< (I) */
const char *qdesc /**< (I) */
);
/**
Retrieves the class name.
*/
extern QRY_API int PFF_ask_class2(
tag_t pff_tag, /**< (I) */
char **qclass /**< (OF) */
);
/**
Sets the class name.
*/
extern QRY_API int PFF_set_class2(
tag_t pff_tag, /**< (I) */
const char *qclass /**< (I) */
);
extern QRY_API int PFF_ask_clauses(
tag_t pff_tag, /**< (I) */
char** qclauses /**< (OF) */
);
extern QRY_API int PFF_set_clauses(
tag_t pff_tag, /**< (I) */
const char* qclauses /**< (I) */
);
/**
Retrieves the saved query.
*/
extern QRY_API int PFF_find2(
const char *name, /**< (I) */
tag_t* pff_tag /**< (O) */
);
extern QRY_API int PFF_extent(
int* pff_count, /**< (O) */
tag_t** pff_tag /**< (OF) pff_count */
);
extern QRY_API int PFF_write_xml(
tag_t pff_tag, /**< (I) */
int num_tuples, /**< (I) */
int num_tags_per_tuple, /**< (I) */
tag_t* tuples, /**< (I) */
char* output_file_name /**< (I) */
);
extern QRY_API int PFF_write_xml_with_clauses(
tag_t pff_tag, /**< (I) */
int num_tuples, /**< (I) */
int num_tags_per_tuple, /**< (I) */
tag_t* tuples, /**< (I) */
int num_clauses, /**< (I) */
char** clauses, /**< (I) */
char* output_file_name /**< (I) */
);
extern QRY_API int PFF_describe_pff(
tag_t pff_tag, /**< (I) */
int* num_clauses, /**< (O) */
char*** column_names, /**< (OF) num_clauses */
char*** relation_to_base /**< (OF) num_clauses */
);
/**
Creates a PFF.
*/
extern QRY_API int PFF_create2(
const char *name, /**< (I) */
const char *qdesc, /**< (I) */
const char *qclass, /**< (I) */
const char* qclauses, /**< (I) */
tag_t* pff_tag /**< (O) */
);
extern QRY_API void PFF_register_user_columns (
int n_columns, /**< (I) */
REPORT_user_column_entry_t* column_methods /**< (I) */
);
/** @} */
#ifdef __cplusplus
}
#endif
#include <qry/libqry_undef.h>
#endif