Return-Path: X-Original-To: apmail-corinthia-dev-archive@minotaur.apache.org Delivered-To: apmail-corinthia-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 45228108D3 for ; Fri, 2 Jan 2015 10:20:23 +0000 (UTC) Received: (qmail 26850 invoked by uid 500); 2 Jan 2015 10:20:24 -0000 Delivered-To: apmail-corinthia-dev-archive@corinthia.apache.org Received: (qmail 26825 invoked by uid 500); 2 Jan 2015 10:20:23 -0000 Mailing-List: contact dev-help@corinthia.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@corinthia.incubator.apache.org Delivered-To: mailing list dev@corinthia.incubator.apache.org Received: (qmail 26814 invoked by uid 99); 2 Jan 2015 10:20:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Jan 2015 10:20:23 +0000 X-ASF-Spam-Status: No, hits=-1997.8 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 02 Jan 2015 10:20:21 +0000 Received: (qmail 23577 invoked by uid 99); 2 Jan 2015 10:17:31 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Jan 2015 10:17:31 +0000 Received: from mail-la0-f41.google.com (mail-la0-f41.google.com [209.85.215.41]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id BDB5C1A0385 for ; Fri, 2 Jan 2015 10:17:22 +0000 (UTC) Received: by mail-la0-f41.google.com with SMTP id hv19so15318446lab.0 for ; Fri, 02 Jan 2015 02:17:08 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.112.54.167 with SMTP id k7mr25710544lbp.72.1420193828236; Fri, 02 Jan 2015 02:17:08 -0800 (PST) Received: by 10.112.10.16 with HTTP; Fri, 2 Jan 2015 02:17:08 -0800 (PST) In-Reply-To: <009f01d0261b$36505070$a2f0f150$@acm.org> References: <004a01d025f9$83b00620$8b101260$@acm.org> <009f01d0261b$36505070$a2f0f150$@acm.org> Date: Fri, 2 Jan 2015 11:17:08 +0100 Message-ID: Subject: Re: Defining the Stable Kernel From: jan i To: "dev@corinthia.incubator.apache.org" , Dennis Hamilton Content-Type: multipart/alternative; boundary=001a11c3fb30a4f41c050ba8a43e X-Virus-Checked: Checked by ClamAV on apache.org --001a11c3fb30a4f41c050ba8a43e Content-Type: text/plain; charset=UTF-8 On 2 January 2015 at 00:32, Dennis E. Hamilton wrote: > > > -- replying below to -- > From: jan i [mailto:jani@apache.org] > Sent: Thursday, January 1, 2015 13:23 > To: dev@corinthia.incubator.apache.org; Dennis Hamilton > Subject: Re: Defining the Stable Kernel > > [ ... ] > > Let me tell how I see it: > > If we start from the outside and dive into the project. > > then the highest level is the consumers, they are applications that uses > the DocFormat library > below consumers we have the DocFormat library with a to be defined API , > The library itself contains at top level of the different filters > (converters). > Each filter convert to/from our internal format (which there has been > discussion in here to change). > > In order for filters not to (mis)use internal functions, the core should > provide a API (to be defined). > > core + platform is the "kernel" which offers services to the filters and > DocFormat API. > > > OK, so exactly what is platform and what is core? > Is this specifically about the core/ and platform/ directories of the > repository. Does it include the api/ folder as well? > > I notice that platform/ has 3rdparty/ and also one src/ file each for > Apple, Linux, Unix, Win32, and Wrapper. So these get picked out > depending on what one is compiling for? > Yes platform deals with differences in our the different platforms, that is the only place for such things, the rest of the code is platform independent. Core is as explained, the central data structure and functions to manipulate it. Core sits logically below filters (filtes use core) API on the other hand is the "external face" of DocFormats and sits logically on top of filters and core so API is NOT included in core. > > > Right now our consumer, filters make calls deep within core, and use all > structures directly. As long as peter did all the coding, that was a very > efficient way of doing it, but as we get more people on board, we need > abstraction layers. A core API + structures, is such an abstraction. > > Hope that clarifies things a bit, but bear in mind you can see the > structure in visual studio, but at lot of the abstraction has not been > discussed yet and far less implemented. > > > You lost me about seeing structure in "visual studio." > I had a feeling about that, please have a look at: http://people.apache.org/~jani/vs.JPG this is how CMake delivers the solution using cmake -G "Visual Studio 12" .. in a build directory You see we have 2 main entities, consumers (the applications) and DocFormat (the library). In DocFormat you see the entities of the library. rgds jan i. > > > rgds > jan i. > > --001a11c3fb30a4f41c050ba8a43e--