17
17
*/
18
18
#include < app-common/zap-generated/attributes/Accessors.h>
19
19
#include < rvc-service-area-delegate.h>
20
+ #include < vector>
20
21
21
22
using namespace chip ;
22
23
using namespace chip ::app::Clusters;
@@ -25,8 +26,8 @@ using namespace chip::app::Clusters::ServiceArea;
25
26
CHIP_ERROR RvcServiceAreaDelegate::Init ()
26
27
{
27
28
// hardcoded fill of SUPPORTED MAPS for prototyping
28
- uint8_t supportedMapId_XX = 3 ;
29
- uint8_t supportedMapId_YY = 245 ;
29
+ uint32_t supportedMapId_XX = 3 ;
30
+ uint32_t supportedMapId_YY = 245 ;
30
31
31
32
GetInstance ()->AddSupportedMap (supportedMapId_XX, " My Map XX" _span);
32
33
GetInstance ()->AddSupportedMap (supportedMapId_YY, " My Map YY" _span);
@@ -38,32 +39,29 @@ CHIP_ERROR RvcServiceAreaDelegate::Init()
38
39
uint32_t supportedAreaID_D = 0x88888888 ;
39
40
40
41
// Location A has name, floor number, uses map XX
41
- GetInstance ()->AddSupportedLocation (
42
- supportedAreaID_A, DataModel::Nullable<uint_fast8_t >(supportedMapId_XX ), " My Location A " _span ,
43
- DataModel::Nullable< int16_t >( 4 ), DataModel::Nullable<Globals::AreaTypeTag>(), DataModel::Nullable<Globals::LandmarkTag>(),
44
- DataModel::Nullable<Globals::PositionTag>(), DataModel::Nullable<Globals::FloorSurfaceTag >());
42
+ GetInstance ()->AddSupportedLocation (supportedAreaID_A, DataModel::Nullable< uint32_t >(supportedMapId_XX), " My Location A " _span,
43
+ DataModel::Nullable<int16_t >( 4 ), DataModel::Nullable<Globals::AreaTypeTag>() ,
44
+ DataModel::Nullable<Globals::LandmarkTag>(),
45
+ DataModel::Nullable<Globals::RelativePositionTag >());
45
46
46
47
// Location B has name, uses map XX
47
- GetInstance ()->AddSupportedLocation (
48
- supportedAreaID_B, DataModel::Nullable<uint_fast8_t >(supportedMapId_XX ), " My Location B " _span ,
49
- DataModel::Nullable< int16_t >(), DataModel::Nullable<Globals::AreaTypeTag>(), DataModel::Nullable<Globals::LandmarkTag>(),
50
- DataModel::Nullable<Globals::PositionTag>(), DataModel::Nullable<Globals::FloorSurfaceTag >());
48
+ GetInstance ()->AddSupportedLocation (supportedAreaID_B, DataModel::Nullable< uint32_t >(supportedMapId_XX), " My Location B " _span,
49
+ DataModel::Nullable<int16_t >( ), DataModel::Nullable<Globals::AreaTypeTag>() ,
50
+ DataModel::Nullable<Globals::LandmarkTag>(),
51
+ DataModel::Nullable<Globals::RelativePositionTag >());
51
52
52
53
// Location C has full SemData, no name, Map YY
53
- GetInstance ()->AddSupportedLocation (supportedAreaID_C, DataModel::Nullable<uint_fast8_t >(supportedMapId_YY), CharSpan (),
54
+ GetInstance ()->AddSupportedLocation (supportedAreaID_C, DataModel::Nullable<uint32_t >(supportedMapId_YY), CharSpan (),
54
55
DataModel::Nullable<int16_t >(-1 ),
55
56
DataModel::Nullable<Globals::AreaTypeTag>(Globals::AreaTypeTag::kPlayRoom ),
56
57
DataModel::Nullable<Globals::LandmarkTag>(Globals::LandmarkTag::kBackDoor ),
57
- DataModel::Nullable<Globals::PositionTag>(Globals::PositionTag::kLeft ),
58
- DataModel::Nullable<Globals::FloorSurfaceTag>(Globals::FloorSurfaceTag::kConcrete ));
58
+ DataModel::Nullable<Globals::RelativePositionTag>(Globals::RelativePositionTag::kNextTo ));
59
59
60
60
// Location D has null values for all HomeLocationStruct fields, Map YY
61
- GetInstance ()->AddSupportedLocation (supportedAreaID_D, DataModel::Nullable<uint_fast8_t >(supportedMapId_YY),
62
- " My Location D" _span, DataModel::Nullable<int16_t >(),
63
- DataModel::Nullable<Globals::AreaTypeTag>(),
61
+ GetInstance ()->AddSupportedLocation (supportedAreaID_D, DataModel::Nullable<uint32_t >(supportedMapId_YY), " My Location D" _span,
62
+ DataModel::Nullable<int16_t >(), DataModel::Nullable<Globals::AreaTypeTag>(),
64
63
DataModel::Nullable<Globals::LandmarkTag>(Globals::LandmarkTag::kCouch ),
65
- DataModel::Nullable<Globals::PositionTag>(Globals::PositionTag::kLeft ),
66
- DataModel::Nullable<Globals::FloorSurfaceTag>(Globals::FloorSurfaceTag::kHardwood ));
64
+ DataModel::Nullable<Globals::RelativePositionTag>(Globals::RelativePositionTag::kNextTo ));
67
65
68
66
GetInstance ()->SetCurrentArea (supportedAreaID_C);
69
67
@@ -86,7 +84,7 @@ bool RvcServiceAreaDelegate::IsValidSelectAreasSet(const Commands::SelectAreas::
86
84
return true ;
87
85
};
88
86
89
- bool RvcServiceAreaDelegate::HandleSkipCurrentArea (MutableCharSpan skipStatusText)
87
+ bool RvcServiceAreaDelegate::HandleSkipCurrentArea (uint32_t skippedArea, MutableCharSpan skipStatusText)
90
88
{
91
89
// TODO IMPLEMENT
92
90
return true ;
@@ -213,7 +211,7 @@ bool RvcServiceAreaDelegate::GetSupportedMapByIndex(uint32_t listIndex, MapStruc
213
211
return false ;
214
212
};
215
213
216
- bool RvcServiceAreaDelegate::GetSupportedMapById (uint8_t aMapId, uint32_t & listIndex, MapStructureWrapper & aSupportedMap)
214
+ bool RvcServiceAreaDelegate::GetSupportedMapById (uint32_t aMapId, uint32_t & listIndex, MapStructureWrapper & aSupportedMap)
217
215
{
218
216
// We do not need to reimplement this method as it's already done by the SDK.
219
217
// We are reimplementing this method, still using linear search, but with some optimization on the SDK implementation
0 commit comments