blob: c6544ad5f941a00851f1697e7c91bf67717c9546 [file] [log] [blame]
/*
*
* Copyright (c) 2017 Nest Labs, Inc.
* All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <nest/test/trait/TestFTrait.h>
namespace Schema {
namespace Nest {
namespace Test {
namespace Trait {
namespace TestFTrait {
using namespace ::nl::Weave::Profiles::DataManagement;
//
// Property Table
//
const TraitSchemaEngine::PropertyInfo PropertyMap[] = {
{ kPropertyHandle_Root, 1 }, // tf_p_a
};
//
// IsOptional Table
//
uint8_t IsOptionalHandleBitfield[] = {
0x1
};
//
// IsNullable Table
//
uint8_t IsNullableHandleBitfield[] = {
0x1
};
//
// Schema
//
const TraitSchemaEngine TraitSchema = {
{
kWeaveProfileId,
PropertyMap,
sizeof(PropertyMap) / sizeof(PropertyMap[0]),
1,
#if (TDM_EXTENSION_SUPPORT) || (TDM_VERSIONING_SUPPORT)
2,
#endif
#if (TDM_DICTIONARY_SUPPORT)
NULL,
#endif
&IsOptionalHandleBitfield[0],
NULL,
&IsNullableHandleBitfield[0],
NULL,
#if (TDM_EXTENSION_SUPPORT)
NULL,
#endif
#if (TDM_VERSIONING_SUPPORT)
NULL,
#endif
}
};
//
// Events
//
const nl::FieldDescriptor TestFEventFieldDescriptors[] =
{
{
NULL, offsetof(TestFEvent, tfA), SET_TYPE_AND_FLAGS(nl::SerializedFieldTypeInt16, 0), 1
},
{
NULL, offsetof(TestFEvent, tfB), SET_TYPE_AND_FLAGS(nl::SerializedFieldTypeInt16, 0), 2
},
{
NULL, offsetof(TestFEvent, tfC), SET_TYPE_AND_FLAGS(nl::SerializedFieldTypeUInt16, 0), 3
},
{
NULL, offsetof(TestFEvent, tfD), SET_TYPE_AND_FLAGS(nl::SerializedFieldTypeInt16, 0), 4
},
};
const nl::SchemaFieldDescriptor TestFEvent::FieldSchema =
{
.mNumFieldDescriptorElements = sizeof(TestFEventFieldDescriptors)/sizeof(TestFEventFieldDescriptors[0]),
.mFields = TestFEventFieldDescriptors,
.mSize = sizeof(TestFEvent)
};
const nl::Weave::Profiles::DataManagement::EventSchema TestFEvent::Schema =
{
.mProfileId = kWeaveProfileId,
.mStructureType = 0x1,
.mImportance = nl::Weave::Profiles::DataManagement::Production,
.mDataSchemaVersion = 1,
.mMinCompatibleDataSchemaVersion = 1,
};
} // namespace TestFTrait
}
}
}
}