property_model -> **sequence_view_demultiplexer_t** -> my_sequence_view
This structure is the glue between the property model and the client's sequence view. It will receive commands from the sequence model through the property model cell in the form of dictionaries, sent one at a time. The dictionaries are then farmed out (demultiplexed, hence the name) to the various sequence view APIs as provided by the client's implementation. The client actually using this piece of code really shouldn't know (or care) that this is under the hood - it is created by the helper routines below and bound to the assemblage, and then it should silently do its job.
Member Typedef Documentation
Constructor & Destructor Documentation
This constructor will take in anything that models the SequenceView concept and establishes a function pack set for the various sequence view routines. The routines will be accessed later as the display routine below receives updates from the property model, and the commands are farmed out to the relevant APIs.
For some reason adobe::function_traits isn't happy with whatever structure comes out of a boost::bind call, otherwise they would be inline in the register_function routines. As it is they are wrapped in a boost::function and passed, which is a viable alternative.
Member Function Documentation
display here models the requirements of the property model View concept, takes in an adobe::dictionary which is a wrapped set of command parameters (one of which is the name of the command itself). The command is immediately sent off to the function pack, which will tease out the necessary bits, align parameters to their specified locations, and fire off the underlying APIs to the attached sequence view.