Ticket #150 (accepted planned)

Opened 3 years ago

Last modified 23 months ago

identify high-level model interface

Reported by: ichthyo Owned by: ichthyo
Priority: lesser Milestone: 0integration
Component: lumieraProc Keywords: design refactor
Cc: Blocked By: #155, #340, #498
Blocking: #80, #191, #325, #350

Description

The initial MObject hierarchy (as existing currently in-code) was written from a mere implementation perspective. Meanwhile we've found out that partially those MObjects will serve as an external interface or at least play an important role on the Proc/GUI interface.

Generally speaking, the goal is always to separate (external) interface and implementation. Entities used on external interfaces should live in namespace lumiera:: and thus be header-only and contained in a header within src/include

In conjunction with MObjects this means to identify which classes act as an abstraction and could be separated into interface/implementation. Obviously, the interfaces need to be at the top of the hierarchy, which means some refactoring (really tricky in this case, because of the builder tools). Basically, the class AbstractMO needs to be split and pushed down.

Change History

comment:1 Changed 3 years ago by ichthyo

  • Blocking 155 added

comment:2 Changed 3 years ago by ichthyo

  • Blocking 160 added

comment:3 Changed 3 years ago by ichthyo

  • Blocking 191 added

comment:4 Changed 3 years ago by ichthyo

  • Keywords design added

comment:5 Changed 2 years ago by ichthyo

  • Blocking 325 added

comment:6 Changed 2 years ago by ichthyo

  • Blocking 350 added

comment:7 Changed 2 years ago by ichthyo

  • Blocked By 498 added

comment:8 Changed 2 years ago by ichthyo

  • Blocked By 340 added

(In #340) now this is basically design/documentation work, detached from the implementation level

comment:9 Changed 2 years ago by ichthyo

  • Status changed from new to accepted

currently working to get the session API outlined. The model interface is very closely related (almost identical to the session discovery interface)

comment:10 Changed 2 years ago by ichthyo

  • Blocking 155 removed
  • Blocked By 155 added

comment:11 Changed 23 months ago by ichthyo

  • Blocking 160 removed

comment:12 Changed 23 months ago by ichthyo

  • Keywords refactor added
  • Priority changed from grave to lesser
  • Type changed from todo to planned

targeting the immediate session API first; considering this more like a refactoring task, i.e. extract the API part and separate it from the implementation.

Note: See TracTickets for help on using tickets.