Skip to content
JesseKPhillips edited this page Oct 14, 2012 · 5 revisions

The Ultimate goal will be to get the as much or all of the COM components into Phobos.

  • D2 has greatly changed in style, for this reason Juno will be undergoing major changes with the expectation changes will not be compatible with previous commits. I expect a very small user base currently exists, though I will still keep what I do not see as redundant or hindering change.
  • Eliminate duplication with existing Phobos functionality
    • Excluding std.c.windows.com, want to construct a replacement inside juno first.
  • Examine std.c.windows.com
    • This uses alias to Type names to those used in Windows headers
    • Probably the main module to desire replacing (many similarities to juno.com.core)
  • Make changes to use more Phobos idioms

Some other goals include

  • Getting tlbimpd added as a tool
  • Possible major design goal
    • Modern COM Programming in D
    • This turns COM interfaces into struct instead of using the language interface concept.
      • Can make RAII easier
      • A guest language is only using the type as a proxy to call functions, the interface relationships are less useful and are not passed through to other COM interactions.
      • Would break all existing Juno code (is my expectation)
    • Some nice help function ideas
  • Add unittests
    • I don't know what I'm doing so I'll be doing my best to add unittests that check my knowledge.
    • It also has a side effect of helping to prevent future unintended breaks.

Considering Deprecation

  • io.core: The inclusion of streams do not fit D style. Must investigate if they fit Window style.
Clone this wiki locally