Thomas Goyne
af74371f6d
Retry commits of file writes for up to a second to work around AV scanning
...
Poorly-written antivirus software briefly lock newly written files to
scan them for viruses, which makes the rename from the temp file to
actual file fail. Work around this by retrying the rename up to ten
times.
Closes #1620 .
2013-07-02 20:09:01 -07:00
Thomas Goyne
2db687cc31
Remove use of copy_file from boost.filesystem
...
copy_file's signature varies depending on whether or not boost was
compiled as C++11, which makes Linux packaging awkward.
Closes #1580 . Closes #1581 .
2013-05-05 08:17:55 -07:00
Thomas Goyne
d34f88080c
Fix directory iteration on Windows XP
2013-02-08 09:03:00 -08:00
Thomas Goyne
2bad9029cb
Set ?data in a way that works with spaces in the path on Windows
2013-02-06 19:15:21 -08:00
Thomas Goyne
bc5417de4a
Give all of the Aegisub-created threads names
2013-02-06 13:22:32 -08:00
Thomas Goyne
101721863a
Make log messages a little saner
2013-02-06 13:22:16 -08:00
Thomas Goyne
69e1744fc7
Make agi::util::time_log less insane
2013-02-06 13:22:16 -08:00
Thomas Goyne
1e0f08c0ed
Mostly purge wxWidgets from non-UI stuff
...
Use boost::filesystem::path for all paths, and std::string for all other
strings, converting to/from wxString as close to the actual uses of wx
as possible.
Where possible, replace the uses of non-UI wxWidgets functionality with
the additions to the standard library in C++11, or the equivalents in
boost.
Move the path token management logic to libaegisub (and rewrite it in
the process).
Add a basic thread pool based on asio and std::thread to libaegisub.
This touches nearly every file in the project and a nontrivial amount of
code had to be rewritten entirely, so there's probably a lot of broken
stuff.
2013-02-06 13:22:15 -08:00
Thomas Goyne
e8344ab0c7
Add agi::util::Remove for deleting files
2013-01-03 17:36:50 -08:00
Thomas Goyne
96cf5ea7ed
Kill the #ifndef AGI_PRE guards
...
They don't actually improve compilation performance and make it more
annoying to modify what things are in the precompiled header.
2012-12-02 06:33:29 -08:00
Thomas Goyne
2dd1da8333
Use C++11 stuff in libaegisub
2012-11-13 08:46:30 -08:00
Thomas Goyne
9088ae994c
Remove windows.h from the precompiled header
...
It's only used by a few source files and it defines a ton of garbage.
2012-11-10 18:05:56 -08:00
Thomas Goyne
e44c47c863
Remove $Id$ markers since git doesn't support them
2012-10-25 17:39:49 -07:00
Thomas Goyne
67c01d11f6
Delete unfinished and unused stuff from libaegisub
2012-10-25 17:39:49 -07:00
Thomas Goyne
715c882a97
Actually check MoveFileEx's return value
2012-10-21 08:13:46 -07:00
Thomas Goyne
c7fb6a57a4
Remove the platform-specific agi::io implementations since they were nearly identical
2012-10-21 08:00:02 -07:00
Thomas Goyne
759b8433c1
Silence some clang warnings
...
Originally committed to SVN as r6558.
2012-03-10 02:16:08 +00:00
Thomas Goyne
7dd6cfe37d
Derive agi::acs exceptions from agi::FileSystemError and friends rather than having two sets of errors for the same thing
...
Originally committed to SVN as r6278.
2012-01-12 22:31:54 +00:00
Thomas Goyne
56337beb11
Use OutputDebugStringW rather than OutputDebugStringA in the windows debug logging so that unicode actually works
...
Originally committed to SVN as r6242.
2012-01-08 01:35:43 +00:00
Thomas Goyne
96aa9e2629
Use libaegisub io code in AssAttachment rather than wx's
...
Originally committed to SVN as r6039.
2011-12-22 21:15:37 +00:00
Thomas Goyne
acd26c4c48
Fiddle with the log output format so that Visual Studio's parser reads it correctly
...
Originally committed to SVN as r5503.
2011-07-26 19:52:07 +00:00
Thomas Goyne
a33da9cba5
Replace all uses of std::cout in libaegisub with logging statements and eliminate a lot of nonsense in the windows implementation of acs::Check
...
Originally committed to SVN as r5500.
2011-07-26 19:51:38 +00:00
Thomas Goyne
231adad93f
Implement agi::util::freespace for Windows
...
Originally committed to SVN as r5497.
2011-07-26 19:51:07 +00:00
Niels Martin Hansen
b60e3a5bd4
Rename another clashing file in libaegisub.
...
Originally committed to SVN as r5490.
2011-07-18 01:08:41 +00:00
Thomas Goyne
b5a02e202e
Rename libaegisub/windows/util.cpp so that it's actually used
...
Originally committed to SVN as r5443.
2011-07-15 04:03:36 +00:00
Thomas Goyne
67e9384ef4
Remove a bunch of pointless consts from agi::Path and rename the windows implementation so that it's actually used
...
Originally committed to SVN as r5442.
2011-07-15 04:03:28 +00:00
Niels Martin Hansen
bc002d749c
Make Windows path.cpp actually build. Still not really tested.
...
Originally committed to SVN as r5332.
2011-02-09 21:55:40 +00:00
Niels Martin Hansen
7ae6e6da88
Completely untested implementation of agi::Path for Windows.
...
Originally committed to SVN as r5319.
2011-02-08 00:21:42 +00:00
Amar Takhar
78ed8e3694
Add stub path file for Windows and hand-edit vcproj to include the file.
...
Originally committed to SVN as r5318.
2011-02-07 18:02:26 +00:00
Thomas Goyne
682fd9406c
Check for both forward and back slashes in the windows version of util::DirName
...
Originally committed to SVN as r4792.
2010-10-07 17:18:00 +00:00
Thomas Goyne
fd5c1ecffc
Fix writing of newlines on windows in charsets wider than one byte
...
Originally committed to SVN as r4786.
2010-09-15 05:00:12 +00:00
Amar Takhar
c624b20777
Left align microseconds by 6 spaces.
...
Originally committed to SVN as r4683.
2010-07-17 17:47:59 +00:00
Thomas Goyne
cac536fc80
On Windows, send debug logging to the debugger rather than stdout.
...
Originally committed to SVN as r4642.
2010-06-29 23:08:42 +00:00
Thomas Goyne
2b47f34e76
Fix a pile of actual memory leaks
...
Originally committed to SVN as r4575.
2010-06-24 01:24:09 +00:00
Amar Takhar
ea577f8245
Re-work types.h for the second time, this is most likely not the final version, it's difficult to figure out a solution that makes the most sense when most of the code hasn't been written/moved over yet.
...
Originally committed to SVN as r4468.
2010-06-09 02:07:43 +00:00
Amar Takhar
1a7052040a
Remove useless whitespace, I need to setup msvc to disable all it's auto-indentation features which are terrible.
...
Originally committed to SVN as r4437.
2010-06-05 18:16:16 +00:00
Thomas Goyne
b6d29443a3
Move most character set conversion code to libaegisub and make everything use the new conversion functionality.
...
Originally committed to SVN as r4423.
2010-06-03 20:32:25 +00:00
Amar Takhar
401560b190
Add some debug trace info.
...
Originally committed to SVN as r4418.
2010-06-03 18:09:00 +00:00
Amar Takhar
86a3d0792a
Move */ up one line so it doesn't catch the closing brace for EmitSTDOUT::log
...
Originally committed to SVN as r4411.
2010-06-03 01:18:12 +00:00
Amar Takhar
61ee7ce92d
Fill in time_log() with code from http://www.suacommunity.com/dictionary/gettimeofday-entry.php <-thanks!
...
Originally committed to SVN as r4409.
2010-06-03 01:09:41 +00:00
Amar Takhar
33011cb5ed
Split EmitterSTDOUT into unix/log.cpp and windows/log.cpp, the windows version is commented at the moment.
...
Originally committed to SVN as r4397.
2010-06-01 08:17:27 +00:00
Amar Takhar
25497cf87d
Completely remove the usage of POSIX functions from Acs. I've discovered the hard way that most things POSIX on Windows is a complete disaster.
...
With this we're now using native functions and all unit tests pass.
The code used in Check() is still a proof of concept and will probably be rewritten as issues are exposed.
Originally committed to SVN as r4354.
2010-05-23 20:39:14 +00:00
Amar Takhar
f7f59e5e1d
Add an ErrorString utility which converts the code from GetLastError() into a human readable std::string.
...
Originally committed to SVN as r4345.
2010-05-22 21:09:37 +00:00
Thomas Goyne
d3c33d5e7c
Fix file saving on Windows.
...
Originally committed to SVN as r4333.
2010-05-21 03:07:48 +00:00
Amar Takhar
40e12403d5
Merge all changes from the libaegisub branch into trunk, the effective range is r4175:4330. All options have been re-done and now use Cajun to support a json-backed format.
...
Initial support for low-level access and file I/O methods are included as well.
Originally committed to SVN as r4331.
2010-05-21 01:13:36 +00:00