kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #18801
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