connection between 2 systems and bug fixes (#14)

This commit is contained in:
tompzf
2026-07-03 14:53:48 +02:00
committed by GitHub
parent 0fb5660d27
commit 46842200f1
284 changed files with 35200 additions and 8265 deletions

View File

@@ -25,11 +25,6 @@ module sdv
module core
{
/**
* @brief Object ID.
*/
typedef uint64 TObjectID;
/**
* @brief Interface used to access objects from other modules via the repository service
*/
@@ -229,6 +224,32 @@ module sdv
TObjectID RegisterObject(in IInterfaceAccess pObjectIfc, in u8string ssObjectName);
};
/**
* @brief The object dependency can be used to state dependencies between two objects. This influence is used during
* shutdown to determine the termination order.
*/
interface IObjectDependency
{
/**
* @brief Add a dependency for an object.
* @param ssObjectName Name of the object.
* @param ssDependsOnObject Name of the object it depends on.
*/
void AddObjectDependency(in u8string ssObjectName, in u8string ssDependsOnObject);
/**
* @brief Remove an object dependency.
* @param ssObjectName Name of the object.
* @param ssDependsOnObject Name of the object it depends on.
*/
void RemoveObjectDependency(in u8string ssObjectName, in u8string ssDependsOnObject);
};
/**
* @brief Link ID.
*/
typedef uint64 TLinkID;
/**
* @brief Connect the core repository to the local repository to allow object access by the locally running components.
* @remarks This interface is available only for isolated and external applications.
@@ -238,13 +259,15 @@ module sdv
/**
* @brief Register the core repository.
* @param[in] pCoreRepository Pointer to the proxy interface of the core repository.
* @return Returns a link ID to be used in the Unlink function. Or 0 on failure.
*/
void LinkCoreRepository(in IInterfaceAccess pCoreRepository);
TLinkID LinkCoreRepository(in IInterfaceAccess pCoreRepository);
/**
* @brief Unlink a previously linked core repository.
* @param[in] tLinkID Link ID of the repository link to remove.
*/
void UnlinkCoreRepository();
void UnlinkCoreRepository(in TLinkID tLinkID);
};
}; // module core