summaryrefslogtreecommitdiffstats
path: root/parameter/SubsystemObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'parameter/SubsystemObject.h')
-rw-r--r--parameter/SubsystemObject.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/parameter/SubsystemObject.h b/parameter/SubsystemObject.h
index c4e88fb..e702c87 100644
--- a/parameter/SubsystemObject.h
+++ b/parameter/SubsystemObject.h
@@ -45,20 +45,30 @@ public:
virtual bool sync(CParameterBlackboard& parameterBlackboard, bool bBack, string& strError);
protected:
- // Synchronized location
- void setSynchronizedLocation(void* pvSynchronizedLocation);
+ // Blackboard data location
+ uint8_t* getBlackboardLocation() const;
// Size
uint32_t getSize() const;
+ // Conversion utility
+ static uint32_t asInteger(const string& strValue);
+ static string asString(uint32_t uiValue);
// Sync to/from HW
- virtual bool sendToHW() = 0;
- virtual bool receiveFromHW() = 0;
+ virtual bool sendToHW(string& strError);
+ virtual bool receiveFromHW(string& strError);
+ // Fall back HW access
+ virtual bool accessHW(bool bReceive, string& strError);
+ // Blackboard access from subsystems
+ void blackboardRead(void* pvData, uint32_t uiSize);
+ void blackboardWrite(const void* pvData, uint32_t uiSize);
private:
// Instance element to sync from/to
CInstanceConfigurableElement* _pInstanceConfigurableElement;
// Data size
uint32_t _uiDataSize;
- // Synchronized location
- void* _pvSynchronizedLocation;
+ // Blackboard data location
+ uint8_t* _pucBlackboardLocation;
+ // Accessed index for Subsystem read/write from/to blackboard
+ uint32_t _uiAccessedIndex;
};