Marc-André Moreau wrote, On 03/22/2011 01:14 AM: > Hi Mads, > > On Thu, Mar 17, 2011 at 8:30 AM, Mads Kiilerich <m...@kiilerich.com > <mailto:m...@kiilerich.com>> wrote: > > On 03/17/2011 03:19 AM, Marc-André Moreau wrote: > > > There is also some stuff that should probably be moved out of > libfreerdp. We could make the following modules: > > auth: credssp, ntlmssp, and eventually kerberos. > crypto: all the crypto_, tls_, and secure.c. > > > Please, let us be pragmatic. There is no need to create separate > libraries with public APIs for everything. We can do > modularisation without creating separate libraries for each "module". > > > I agree with you: we do not need public APIs for everything. making > libraries with "public" APIs which is in fact only used internally is > confusing and unneeded. On the other hand, I would really like to find > a clean way of creating software modules for internal source code > organization. > > Ideally, if there are already established coding standards used in > other projects written in C that do exactly that, maybe we could take > inspiration from them. Any ideas on how to enforce a particular way of > "declaring" modules, without making libraries? I agree that making > libraries with public APIs is not the way to go, I'm just looking for > some good way to achieve the same for internal use.
I think what we have now with header files and implementation is OK. We don't need rules for that - just common sense. We should for example not instantiate values in header files (also not constants), and we should not put stuff in header files unless there is a good reason to do it. We could however document more clearly what the intention with the different modules is and which dependencies are acceptable. A map could be helpful. I think it would have bigger value to document the coding/formatting/naming style. That is an area where common sense can't be used, so it must be written down, hated, and followed. /Mads ------------------------------------------------------------------------------ Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ Freerdp-devel mailing list Freerdp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freerdp-devel