← Back to team overview

kicad-developers team mailing list archive

Re: idea for post-release file manipulations

 

See include/richio.h

Our I/O objects already support wxInputStream and wxOutputStream.
Although there is no reason you couldn't add objects that use
std::istream and std::ostream or the boost::iostreams.  I believe the
wxIoStreams already support support archives so all you would have to do
is create the stream and pass it too the proper LINE_READER or
OUTPUT_FORMATTER object.  You would automagically have archive stream
support for board file and footprint libraries.

On 6/21/2015 8:55 AM, Simon Richter wrote:
> Hi,
> 
> Am 21.06.2015 um 03:06 schrieb Cirilo Bernardo:
> 
>> a. Abstracting a stream class which can magically support
>> file retrieval by http, local files, and perhaps github (I know
>> next to nothing about how github works) and local file
>> writing.
> 
> std::istream?
> 
>> b. The stream class can automatically inflate *.gz files
>> (basically files compressed by zlib and with .gz at the end).
> 
> boost::iostreams::gzip?
> 
>> Supporting *.gz can typically shrink footprint files to 30-40%
>> of the uncompressed size and VRML files can often
>> compress to <15% of the original size and large STEP
>> and IGES files can compress to 10% of the original.
> 
> Is that actually a problem for users, though?
> 
> I'd probably even want to see the opposite -- network operations removed
> from the rest of the program. Right now, if I have github footprints in
> my list, entering cvpcb or pcbnew always takes a while because the
> libraries are updated everytime.
> 
> I'd rather have an explicit mechanism to update the libraries, giving me
> local files that are instantly and always available, with no new failure
> modes to handle for the application.
> 
>    Simon
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 



Follow ups

References