summaryrefslogtreecommitdiff
path: root/src/file.cpp (follow)
AgeCommit message (Collapse)Author
2011-02-21david - no block size on windowsDavid
2011-01-20Wow, got the Stream changes propegated, all tests build with string instead ofMike Buland
fstring, and updated the copyright notice to extend to 2011
2011-01-20Bu::FString is now String, and there's a shell script to fix any other programsMike Buland
that were using fstring, I hope.
2010-11-19MyriadFs is starting out...but the FUSE system is...akward at best.Mike Buland
2010-05-25We now have a portable tempfile function, cool, it compiles on windows.Mike Buland
Fixed a bug in Socket, it wasn't closing the socket in all exception cases. Also fixed a few things in the unit test framework, going to add some more helpers soon.
2010-05-24Changed the Bu::Stream API, setSize is now standard. There may be a few moreMike Buland
things that should be added. A few of them still need to be implemented. I know that truncate for Bu::File is possible on windows, I've used it before, but hell if I can find it. Myriad also needs the setSize function completed.
2010-05-13Finally rearranged the system to put all compatability files in a directoryMike Buland
called compat. I've updated the linux and windows builds and it looks pretty good. I also added a config.h file which we have to edit by hand until I can work on build some more. Linux File operations now use 64 bit mode, windows can't, or at least, I don't feel like researching it right now.
2010-03-03I think I just changed whitespace...Mike Buland
2010-02-13Added and updated the license info in all the source files, they still saidMike Buland
copyright 2007-2008.
2010-01-07A bunch of things weren't including their own files in quite the correct way...Mike Buland
2009-09-23Wow, ok, file was broken on changing position in the stream, it wouldn't resetMike Buland
the end of stream flag. Now it does reset it, and assumes that you've placed the position not at the end, if you have, it will detect it again immediately upon read. BZip2 now provides a method of getting the number of bytes written out, i.e. the compressed size of the output, I have to figure out the input side next...
2009-07-31I switched the Bu::Stream::isEOS function to be named Bu::Stream::isEos, andMike Buland
also made sure the copyright is at the top of all the files, it's been too long. Anyway, this may effect some code, but not much, and it's an easy enough fix.
2009-07-31Wow, Bu::Base64 had a bug about premature end of stream / not base64 data, nowMike Buland
it throws exceptions. It'll still try to process bad data for a while though. Also, it turns out that Bu::File never reported EOS, now it does, appropriately. I'm about to change Bu::Stream::isEOS to be Bu::Stream::isEos, this is your warning.
2009-05-07Yeah, more or less like I thought, O_BINARY doesn't really exist on linux, atMike Buland
least, most of them. Now if it does exist, it's used.
2009-05-04david - got bzip2 building for windows... also added default O_BINARY on ↵David
Bu::File
2009-01-27Corrected the Bu::File::canRead() and Bu::File::canWrite() functions, they workMike Buland
now. It helps to read the system docs. Anyway, nids is all fixed up, it seems to work great now, and I guess I got all the corner cases we'll hit for a while, fishtrax really did a number on them :) I also cleaned up all the debugging output, now you can see your program run instead of libbu++ internals. There could still be a good amount of improvement made in nids, it really shouldn't re-write whole blocks every time you write to a stream, but that will be an easy change down the line that won't effect any of the existing code.
2009-01-27Corrected some larger read/write issues in corner cases that I hit suprisinglyMike Buland
often within nids. There's still a problem somewhere, but I'll find it. Also, even after having the file class canRead and canWrite functions work properly, and using them before trying to write to a nids to update info, we never ever write anything, so something is still wrong there. For now, all utilities that open a nids stream read-only will crash when it closes. Pretty minor really.
2008-12-20All of the basic, core workings of the Cache are complete, and tested. EvenMike Buland
added some more tests and whatnot. A lot happened, but I can't remember everything. Also, Bu::File reports errors in more error cases.
2008-10-02Really fixed the rest of the file open issues...it was always using exclusiveMike Buland
mode.
2008-10-02Ok...now Bu::File doesn't set stupid permissions when it creates a new file...Mike Buland
2008-10-02david apparently window doesn't have O_NONBLOCKDavid
2008-10-02More changes to File...turns out tempFile always opens the file for reading andMike Buland
writing...so...what more do you need? It was ignoring the open flags you gave it anyway.
2008-10-02Updated on my laptop and discovered that the new, more pedantic gcc had aMike Buland
problem with a missing include. Also, if you get errors about conflicts and things being declared twice, then "rm src/exceptions.o" it shouldn't be sneaking in there still, but it may be. then do a full "build -c all" and build. Oh, also found some solid gold taf code that never got included, but is very much needed. Remembering to commit would be useful...
2008-10-01This commit is sure to break things. This should be a very, very minor change.Mike Buland
What changed API-Wise: - I deleted a constructor in Bu::File that shouldn't have been used anyway. - I changed it from using fopen style mode strings to using libbu++ style mode flags. Check the docs for the complete list, but basically instead of "wb" you do Bu::File::Write, and so on, you can or any of the libbu++ flags together. There is no binary/text mode, it just writes whatever you tell it to verbatim (binary mode). Lots of extras are supported. Nothing else should have changed (except now the file stream is unbuffered, like all the other streams). Sorry if this breaks anything, if it's too annoying, use the last revision for a while longer.
2008-10-01Ok, NIDS is getting better and better, and I went ahead and cleaned up someMike Buland
exception related code that's been annoying me. You should no longer have to include any exception header explicitly for normal operations, every class that has it's own exception to throw defines it in it's own headers. This may break some code that uses libbu++, but it's an easy fix, just delete the include for exceptions.h. Sometime soon I would also like to move from Bu::ExceptionBase to Bu::Exception, but that will affect a lot more code than this change did.
2008-09-26david - got it compiling for windows again: made Bu::File::setBlocking a ↵David
stub. We are going to need some windows api stuff to do that...
2008-09-24Wholly crap. Added the Fifo, fixed a bunch of bugs, made things more standard,Mike Buland
now I have a huge list of new functions to add. Also, we discovered that if we add -W it produces more warnings, warnings about things that we'd like to know about. I have a lot of work to go fixing that...
2008-02-07Just updated the copyright date.Mike Buland
2007-11-15Added liscense info at the front of many, many files. Debating the old files.Mike Buland
2007-07-25I took the cheap way out and added the filename to the exceptions generated byMike Buland
the file class. This is probably a good idea anyway, but it feels like a silly fix to another problem.
2007-06-19david - got some things compiling on win32 (wine/devc++)David
2007-06-18Added the protocol class. servers work, but don't send data, updated the streamsMike Buland
to include many more state indicators and caps queries, and everything is working better in general.
2007-06-12Moved out the xml system again. I think that if I am going to do it again,Mike Buland
I'm going to do it over from scratch, that was just painful. Also, started in again on the server system, it's looking pretty good, already got connections working, next up is managing data flow through clients and protocols!
2007-06-10Bunch of maintenence type things. Minor tweaks and the like. The file classMike Buland
has a lot more helper functions and the like, the filters give more info back to the caller, minor updates to taf.
2007-05-17Lots of cool new stuff, the Server class actually works for everything exceptMike Buland
actually interacting with clients, and the Client class is almost there, except that it doesn't really do anything yet.
2007-04-10I did it, the streams don't start with an S now.Mike Buland
2006-10-31Changed the file class to be SFile so that it will collide less, all of themMike Buland
will be named like that, make life easier.
2006-10-27Added the beginings of the new stream system.Mike Buland