53 typedef MmsValue* (*MmsReadVariableHandler)(
void* parameter, MmsDomain* domain,
54 char* variableId, MmsServerConnection connection);
57 char* variableId, MmsServerConnection connection);
60 MmsDomain* domain,
char* variableId,
MmsValue* value,
61 MmsServerConnection connection);
64 MmsServerConnection connection, MmsServerEvent event);
121 char* listName, MmsServerConnection connection);
144 typedef bool (*
MmsObtainFileHandler)(
void* parameter, MmsServerConnection connection,
const char* sourceFilename,
const char* destinationFilename);
201 const char* localFilename,
const char* otherFilename);
376 #define MMS_LOGICAL_STATE_STATE_CHANGES_ALLOWED 0 377 #define MMS_LOGICAL_STATE_NO_STATE_CHANGES_ALLOWED 1 378 #define MMS_LOGICAL_STATE_LIMITED_SERVICES_PERMITTED 2 379 #define MMS_LOGICAL_STATE_SUPPORT_SERVICES_ALLOWED 3 381 #define MMS_PHYSICAL_STATE_OPERATIONAL 0 382 #define MMS_PHYSICAL_STATE_PARTIALLY_OPERATIONAL 1 383 #define MMS_PHYSICAL_STATE_INOPERATIONAL 2 384 #define MMS_PHYSICAL_STATE_NEEDS_COMMISSIONING 3 397 typedef void (*
MmsStatusRequestListener)(
void* parameter, MmsServer mmsServer, MmsServerConnection connection,
bool extendedDerivation);
void MmsServer_installReadAccessHandler(MmsServer self, MmsReadAccessHandler, void *parameter)
void MmsServer_lockModel(MmsServer self)
lock the cached server data model
bool MmsServer_isLocked(MmsServer self)
void MmsServer_startListeningThreadless(MmsServer self, int tcpPort)
Start a new server in non-threaded operation mode.
MmsDataAccessError(* MmsWriteVariableHandler)(void *parameter, MmsDomain *domain, char *variableId, MmsValue *value, MmsServerConnection connection)
Definition: mms_server.h:59
int MmsServer_getVMDPhysicalStatus(MmsServer self)
get the physical status attribute of the VMD
MmsDevice * MmsServer_getDevice(MmsServer self)
void MmsServer_installReadHandler(MmsServer self, MmsReadVariableHandler, void *parameter)
Definition: mms_server.h:186
void MmsServer_setFilestoreBasepath(MmsServer self, const char *basepath)
Set the virtual filestore basepath for the MMS file services.
MmsServer MmsServer_create(MmsDevice *device, TLSConfiguration tlsConfiguration)
char * MmsServer_getModelName(MmsServer self)
get the model name attribute of the VMD identity
Definition: mms_server.h:40
void MmsServer_setLocalIpAddress(MmsServer self, const char *localIpAddress)
struct sMmsServerConnection * MmsServerConnection
Definition: mms_server.h:45
Definition: mms_server.h:40
char * MmsServer_getVendorName(MmsServer self)
get the vendor name attribute of the VMD identity
struct sIsoConnection * IsoConnection
Definition: iso_server.h:54
void MmsServer_unlockModel(MmsServer self)
unlock the cached server data model
MmsError(* MmsFileAccessHandler)(void *parameter, MmsServerConnection connection, MmsFileServiceType service, const char *localFilename, const char *otherFilename)
MmsFileAccessHandler callback function. Use to monitor and control file access.
Definition: mms_server.h:200
void MmsServer_setVMDStatus(MmsServer self, int vmdLogicalStatus, int vmdPhysicalStatus)
set the VMD state values for the VMD status service
Definition: mms_server.h:49
bool(* AcseAuthenticator)(void *parameter, AcseAuthenticationParameter authParameter, void **securityToken, IsoApplicationReference *appReference)
Callback function to authenticate a client.
Definition: iso_connection_parameters.h:105
void MmsServer_setServerIdentity(MmsServer self, char *vendorName, char *modelName, char *revision)
set the values that the server will give as response for an MMS identify request
int MmsServer_waitReady(MmsServer self, unsigned int timeoutMs)
Wait for the server to come ready in non-threaded operation mode.
MmsFileServiceType
Definition: mms_server.h:181
void MmsServer_startListening(MmsServer self, int tcpPort)
Start a new server thread and listen for incoming connections.
struct sMmsServer * MmsServer
Definition: mms_server.h:43
MmsServerEvent
Definition: mms_server.h:39
MmsDataAccessError(* MmsReadAccessHandler)(void *parameter, MmsDomain *domain, char *variableId, MmsServerConnection connection)
Definition: mms_server.h:56
void(* MmsStatusRequestListener)(void *parameter, MmsServer mmsServer, MmsServerConnection connection, bool extendedDerivation)
User provided handler that is invoked on a MMS status request.
Definition: mms_server.h:397
IsoConnection MmsServerConnection_getIsoConnection(MmsServerConnection self)
bool(* MmsObtainFileHandler)(void *parameter, MmsServerConnection connection, const char *sourceFilename, const char *destinationFilename)
ObtainFile service callback handler.
Definition: mms_server.h:144
MmsVariableListType
Definition: mms_server.h:47
char * MmsServerConnection_getClientAddress(MmsServerConnection self)
int MmsServer_getVMDLogicalStatus(MmsServer self)
get the logical status attribute of the VMD
Definition: mms_server.h:182
MmsValue *(* MmsReadVariableHandler)(void *parameter, MmsDomain *domain, char *variableId, MmsServerConnection connection)
Definition: mms_server.h:53
void MmsServer_insertIntoCache(MmsServer self, MmsDomain *domain, char *itemId, MmsValue *value)
MmsError(* MmsNamedVariableListChangedHandler)(void *parameter, bool create, MmsVariableListType listType, MmsDomain *domain, char *listName, MmsServerConnection connection)
callback handler that is called whenever a named variable list changes
Definition: mms_server.h:120
void MmsServer_handleIncomingMessages(MmsServer self)
Handle client connections (for non-threaded operation mode)
Definition: mms_server.h:48
void MmsServer_installVariableListChangedHandler(MmsServer self, MmsNamedVariableListChangedHandler handler, void *parameter)
Install callback handler that is called when a named variable list changes (is created or deleted) ...
void(* MmsGetFileCompleteHandler)(void *parameter, MmsServerConnection connection, const char *destinationFilename)
Get file complete (obtainFile service terminated) callback handler.
Definition: mms_server.h:167
Definition: mms_server.h:50
Definition: mms_server.h:184
void MmsServer_installGetFileCompleteHandler(MmsServer self, MmsGetFileCompleteHandler handler, void *parameter)
Install callback handler that is invoked when the file upload (obtainFile service) is completed and t...
void(* MmsConnectionHandler)(void *parameter, MmsServerConnection connection, MmsServerEvent event)
Definition: mms_server.h:63
void MmsServer_setStatusRequestListener(MmsServer self, MmsStatusRequestListener listener, void *parameter)
set the MmsStatusRequestListener for this MmsServer
MmsDataAccessError
Definition: mms_value.h:47
Definition: mms_server.h:185
void MmsServer_installWriteHandler(MmsServer self, MmsWriteVariableHandler, void *parameter)
void MmsServer_installFileAccessHandler(MmsServer self, MmsFileAccessHandler handler, void *parameter)
Install a callback handler this is invoked when the client requests a file server. This function can be used to monitor and control file access.
bool MmsServer_isRunning(MmsServer self)
void MmsServer_installObtainFileHandler(MmsServer self, MmsObtainFileHandler handler, void *parameter)
Install callback handler that is invoked when the file upload (obtainFile service) is invoked by the ...
void MmsServer_installConnectionHandler(MmsServer self, MmsConnectionHandler, void *parameter)
MmsValue * MmsServer_getValueFromCache(MmsServer self, MmsDomain *domain, const char *itemId)
void MmsServer_stopListeningThreadless(MmsServer self)
Stop the server (for non-threaded operation mode)
Definition: mms_device_model.h:38
void MmsServer_setClientAuthenticator(MmsServer self, AcseAuthenticator authenticator, void *authenticatorParameter)
void MmsServer_handleBackgroundTasks(MmsServer self)
Handle MmsServer background task.
void MmsServer_destroy(MmsServer self)
char * MmsServer_getRevision(MmsServer self)
get the revision attribute of the VMD identity
MmsError
Definition: mms_common.h:38
void MmsServer_stopListening(MmsServer self)
Stop server thread an all open connection threads.
struct sMmsValue MmsValue
Definition: mms_value.h:68
Definition: mms_server.h:183