* Instead to exit the thred we will wait until the live555
eventLoop quits peacefully.
* Better error handling.
* Implement SetSize as a not supported operation.
* Moved data locking in the internal buffer class, includes handling
of backend writes.
* Takes advantage of inheritance for getting the size. The choice is
made depending on the flags. This allow the implementer to easily
return a custom size by reimplementing GetSize. At the same time
a plain BAdapterIO can still have it's total size set, but the behavior
will change depending it's mutable or not.
* Some decisions are now made by considering everything in absolute
values.
* Other minor fixes.
Was introduced in fa2dd9c45f, but was
causing weird problems (leaving stray '.o's around the tree.) The problem
was that it didn't have a space before the semicolon on the "SubDir" line,
which also ate the following UseHeaders directive, which also meant
that running "jam" inside a subdirectory was broken between that commit
and this one.
Due to a minor change in the handling of default colors with layouts, the
colors were adopting the system/parent colors due to no colors being
specified by the class.
The icon now adopts the document background color and synchronizes with the
url input background.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes#12672. I've had this patch in my inbox for a long time, and totally
forgot about committing it...
* Most FUSE options are only allowed for root, so don't add these options
when user is not root.
* Fixes ticket #8254.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Coding style looks OK to me and there are multiple comments that
it works, so just merging it.
Fixes#12710.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
I fixed the modifications to the Jamfiles in src/bin, they were all wrong
in the patch.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes#12575. I checked with PulkoMandy on IRC before merging this,
and fixed some whitespace violations of the coding style.
Based upon a HTML5 fractal engine by @kerwizzy (relicensed as MIT and copyright
assigned to Haiku, Inc. with permission from the author). Hacky and a mess,
but it works, and has the potentiality to be much nicer than the previous
Mandelbrot app.
Already supports rendering & zooming in, but has hacks all over the place.
* This is by default provided using a relative buffer. When the
client request a seek over the range we currently have, we will
ask the backend with a SeekRequested. When the backend operation
ended successfully, the client is required to call SeekCompleted
before to return. This will cause the offset to change and the
buffer is cleaned as result. Next data received will be considered
to be at a position equal to the offset plus the relative position.
- Ensure that the debugger lib's headers are included before those of libshared
to minimize conflicts between the respective Thread classes. Fixes gcc2 build.
Thanks to Jerome for reporting.
- Add subfolder src/kits/debugger which contains the debugger's core
functionality and lower layers. Correspondingly add headers/private/debugger
for shared headers to be used by clients such as the Debugger application
and eventual remote_debug_server. Adjust various files to account for
differences as a result of the split and moves.
- Add libdebugger.so to minimal Jamfile.
- Add new source file DebuggerGlobals, which contains the relevant
functions for initializing/destroying the various singleton rosters
that the core subsystems rely upon. It is the app's responsibility
to ensure these are called before anything else, and as final cleanup
at exit.
- The GUI/CLI app objects now take care of initializing the settings factory
and ValueHandlerRoster, as those are entirely app-specific.
- Refactor calls to init functions appropriately.
- SettingsManager is now a pure virtual interface. The debugger core provides
a no-op implementation of it which is used by default if no explicit manager
is provided by the client requesting a new TeamDebugger. This allows consumers
of the debugger core that have no need for settings persistence such as the
report generator to not have to care about that particular detail at all.
- Add subclass DebuggerSettingsManager which is essentially the previous
existing implementation. This one will go with the application portion
of the Debugger once the separation of app and lib has been completed.
Adjust callers accordingly.
* Originally this code didn't use an AutoLocker, when I changed it
I didn't realize I created an anonymous temporary inadvertently.
* Thanks to hamishm for catching this.
* Use BUrlProtocolRoster instead of BFileRequest.
* Removed HTTPMediaIO custom code that now inherits
BAdapterIO and make the whole thing more simple.
* It work with some formats (flv, mp3, mkv) but ffmpeg fail
on others (mp4, 3gp).
* GetSize needs improvements.
* General refactor, moved BDataIO emulation in a
BAdapterIO derived class, BDataIOAdapter.
* This allowed to simplify the wrapper that is now
considering everything to be seekable or pseudo-seekable.
* This class is provided as a safe multithreaded communication channel
between a BMediaIO-like interface and a Read/Write backend.
* Includes internal buffering and can be used to provide multithreaded
edit of the data.
* Current limitations include missing BOutputAdapter and
correct timeout handling.
* Future plans provide a BRemoteAdapterIO that using ports
and areas allow to easily send big data between processes.
If available, symbols are read from the respectice core file symbols
note. Otherwise, if available read symbols from ELF file. Finally fall
back to the dynamic symbol table from the core file image. Reusable
functionality is implemented in DebuggerInterface (GetElfSymbols()).
- Refactor TeamUiSettingsFactory into an abstract base class with implementing
subclass DebuggerUiSettingsFactory.
- Adjust SettingsManager to expect the UiSettingsFactory to be passed in as an
initialization parameter, and refactor accordingly.
- Move GuiTeamUiSettings.* into a user_interface/gui subfolder.
No functional change, simply reorganization towards splitting the debugger's
core functionality into a separate library from the application to aid in
sharing with remote_debug_server.
TargetHostInterface:
- Adjust _StartTeamDebugger to always require a user interface object to
be passed in rather than implicitly falling back to GUI if unspecified.
Debugger:
- Refactor to be in compliance with the above.
* While originally I think it was a good idea to make it own the source,
then I decided to uniform the code by making the BMediaFile to be the
only responsible of that.
- Messages that expect a reply are now tagged with a unique ID field to
indicate that expectation to the receiving socket messenger.
- The messenger now maintains a map of received reply IDs and their
corresponding messages, along with a message queue of other unsolicited
replies.
- After successfully connecting, the messenger now spawns a thread
whose sole responsibility is receiving and parsing all incoming messages,
and consequently sorting them into the aforementioned data structures based
on the presence of the reply ID. Callers who are awaiting either replies or
other messages are signalled appropriately via a semaphore. This allows
multiplexing of both types of messages on the same socket.