Please see SVN Access for information regarding DokuWiki projects.
Your Donations help keep my Software going!
LibTate Porting Guide
This document is still under revision, but should be usable.
Definitions
Common Code
When we talk of about “common” code, we're referring to code that is, in essence, common to all platforms. This code is the lifeblood of LibTate.
Peer Code
Certain files within LibTate contain the word “Peer” in their file names. Additionally, you'll notice in some non-peer files references to functions with the word “Peer” in them. Peer classes and code conceptually reside “inside” of the main LibTate code and are used directly from within LibTate.
Essentially peer code performs the grunt work that common code simply cannot; but at the same time, it does not perform code that can be easily abstracted into common code.
Since peer code tends to be very simple, the following observations can be made:
- Although the grunt work is platform specific, the interface must be common to all platforms; thus we define the peer interfaces from within common code.
- Since peer code is used from within classes themselves:
- The peer source file is not included in the build step
- The peer source file is included from within the non-peer file
- Because of all of the above, peer code is always declared inline
Alert and AlertPeer are simple examples of peer code, and File and FilePeer are better examples.
Native Code
Certain files within LibTate contain the word “Native” in their file names. Native classes and code conceptually reside “outside” of the main LibTate code and are used indirectly from within LibTate.
Native code is required in some situations where it neither makes sense to use common code nor to use peer code.
For instance, if we were using DirectX on Win32, we would be required to create a COM class just to use it– and this can be easily abstracted into an outside native class with no impact on common code.
You are here: News » Software » LibTate » doc » LibTate Porting Guide