21#include "slc_macros.h"
23#include "errtranslate.h"
25#include "process_parm.h"
27#include "aida_pva_json.h"
45vmsstat_t
init(
const char* processName,
bool initMessageServices);
63void aidaThrow(JNIEnv* env, vmsstat_t status,
char* exception,
const char* message);
88int endsWith(
const char* str,
char* suffix);
137int pmuFromDeviceName(JNIEnv* env,
char* device,
char* primary,
char* micro, int4u* unit);
177void*
allocateMemory(JNIEnv* env,
void* source,
size_t size,
bool nullTerminate,
char* message);
726int ascanf(JNIEnv* env,
Arguments* arguments,
const char* formatString, ...);
void tableAddField(JNIEnv *env, Table *table, char *fieldName)
Add a dynamic field to a table.
void tableAddStringColumn(JNIEnv *env, Table *table, char **data)
Add a String column to the given Table.
int startsWith(const char *str, char *prefix)
Check if a string starts with another string.
void pmuStringFromUri(char *pmuString, const char *uri)
Get the pmu part of a URI.
void tableAddFixedWidthStringColumn(JNIEnv *env, Table *table, char *data, int width)
Add fixed-width string data to a column in the given Table.
const char * secondaryFromUri(const char *uri)
Get secondary from URI.
void releaseArray(Array array)
Free up any memory allocated the given scalar array.
void tableAddSingleRowFloatColumn(JNIEnv *env, Table *table, float data, bool ieeeFloat)
Add a float column to a Table with only one row.
int groupNameFromUri(char groupName[], const char *uri)
URI Handling for group, secn, pmu and slacName.
void secnFromUri(const char *uri, int4u *secn)
Get secondary from pseudo secondary (containing a colon) number from URI.
int ascanf(JNIEnv *env, Arguments *arguments, const char *formatString,...)
Argument Processing.
int endsWith(const char *str, char *suffix)
String Handling.
void aidaThrow(JNIEnv *env, vmsstat_t status, char *exception, const char *message)
Exception Handling.
void tableAddSingleRowLongColumn(JNIEnv *env, Table *table, long data)
Add a long column to a Table with only one row.
Table tableCreate(JNIEnv *env, int rows, int columns)
Table Handling.
void tableAddLabel(JNIEnv *env, Table *table, char *labelName)
Add a dynamic column to a table.
void tableAddSingleRowIntegerColumn(JNIEnv *env, Table *table, int data)
Add a integer column to a Table with only one row.
vmsstat_t init(const char *processName, bool initMessageServices)
Initialisation.
void * allocateMemory(JNIEnv *env, void *source, size_t size, bool nullTerminate, char *message)
Memory Handling.
void tableAddSingleRowShortColumn(JNIEnv *env, Table *table, short data)
Add a short column to a Table with only one row.
void tableAddSingleRowByteColumn(JNIEnv *env, Table *table, unsigned char data)
Add a byte column to a Table with only one row.
void tableAddSingleRowDoubleColumn(JNIEnv *env, Table *table, double data, bool ieeeDouble)
Add a double column to a Table with only one row.
void tableAddSingleRowBooleanColumn(JNIEnv *env, Table *table, unsigned char data)
Add a boolean column to a Table with only one row.
void releaseValue(Value value)
Release all allocated memory in the given value.
void tableAddColumn(JNIEnv *env, Table *table, Type type, void *data, bool ieeeFormat)
Add a column of arbitrary type to a Table.
int avscanf(JNIEnv *env, Arguments *arguments, Value *value, const char *formatString,...)
ascanf(), avscanf()
void uriLegacyName(char legacyName[MAX_URI_LEN], const char *uri)
Convert the given URI to the legacy AIDA name for low level functions that still require it that way.
void aidaThrowNonOsException(JNIEnv *env, char *exception, const char *message)
To log any non-OS exceptions and throw back to java.
void releaseTable(Table table)
Free up any memory allocated for the given table.
void releaseStringArray(StringArray array)
Free up any memory allocated for string arrays.
void tableAddSingleRowStringColumn(JNIEnv *env, Table *table, char *data)
Add a string column to a Table with only one row.
void uriToSlcName(char slcName[MAX_URI_LEN], const char *uri)
Convert all URIs to slac names before making queries.
Table tableCreateDynamic(JNIEnv *env, int rows, int columns)
Make a Dynamic Table for return to client.
int pmuFromDeviceName(JNIEnv *env, char *device, char *primary, char *micro, int4u *unit)
Get primary, micro and unit from a device name.
void releasePvAndArguments(JNIEnv *env, jstring uri, const char *pv, Arguments arguments)
Free up any memory allocated for the given pv and arguments.
The Header File for the Channel Provider API endpoints and endpoint-stubs MACROS.
The Header File for the type conversion functions.
The Header File for the exceptions helper MACROS.
The Header File for the memory management functions and macros.
The Header File for the type enumerations, unions, and typedefs.
Type
The definition of Aida Types.
The Header File for uri and channel name manipulation functions.
#define MAX_URI_LEN
The maximum length of a URI.
An Arguments structure stores all of the arguments passed from the request to the Native Channel Prov...
This special type represents a Value.