Create an Object
You can create an object of a Truth Type via two steps:
- You need to obtain the Type from the type hash. We call the
object_type_from_name_hash
to obtain thetm_tt_type_t
- You need to create an Object from that Type. We call
create_object_of_type
to create an objecttm_tt_id_t
. We passTM_TT_NO_UNDO_SCOPE
because we do not need an undo scope for our example.
First, we need to have access to a Truth instance. Otherwise, we could not create an object. In this example, we create a function.
tm_tt_id_t create_my_type_object(tm_the_truth_o *tt) {
const tm_tt_type_t my_type = tm_the_truth_api->object_type_from_name_hash(
tt, TM_TT_TYPE_HASH__MY_TYPE);
const tm_tt_id_t my_type_object =
tm_the_truth_api->create_object_of_type(tt, my_type, TM_TT_NO_UNDO_SCOPE);
return my_type_object;
}
Wherever we call this function we can then edit and modify the type and add content to it!
The alternative approach is to use the "Quick Object Creation function".
tm_tt_id_t quick_create_my_type_object(tm_the_truth_o *tt) {
return tm_the_truth_api->quick_create_object(tt, TM_TT_NO_UNDO_SCOPE,
TM_TT_TYPE_HASH__MY_TYPE, -1);
}
Note: need to pass
-1
to tell the function that we are at the end of the creation process. More info here.
What is next?
If you want to learn more about how to create your own custom type, follow the "Custom Truth Type" walkthrough.