InteractionSystem: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
== Goal == | == Goal == | ||
Reference : https://trac.videolan.org/vlc/ticket/27 | |||
The goal is to implement a system to: | |||
* Alert the user of critical errors (cannot play file). Should be blocking. | |||
* Ask the user a question | |||
** Are you sure? | |||
** Try to Fix index of avi? | |||
** Overwrite File ? | |||
* Inform the user, without disturbing him. (Buffering stream). This might require a displaytime or something. Because how do we know how long this information should be displayed? Also think of buffering 0-100% | |||
* present a user/passwd dialog when we get an authentication failure on a stream. | |||
== Roadmap == | == Roadmap == | ||
Scheduled for implementation in 0.8.5 | |||
Some work will have to be done in all interfaces | |||
== Objects architecture == | == Objects architecture == | ||
* Interaction object | * Interaction object | ||
** void * pointer for interface specific stuff | |||
* Widget object | * Widget object | ||
** for input, associated with a vlc_value_t | |||
* Interaction manager | * Interaction manager | ||
** Maintains a list of currently active interaction displays | |||
** When a new interaction is requested, forward the request to the interface (ASYNCHRONOUS !) | |||
** Asks the interface to show/modify/remove a display | |||
** Active polling ? | |||
* Signalling the interface : | |||
** function pointer | |||
*** easier to know if interface does not support | |||
** variable | |||
*** cleaner ? | |||
** "control" function | |||
* Requester | * Requester | ||
** Builds the interaction object | |||
** Add it to the interaction manager request queue. | |||
*** Queue or single with lock ? | |||
*** Analyze deadlock possibility | |||
Revision as of 15:15, 15 September 2005
Goal
Reference : https://trac.videolan.org/vlc/ticket/27
The goal is to implement a system to:
- Alert the user of critical errors (cannot play file). Should be blocking.
- Ask the user a question
- Are you sure?
- Try to Fix index of avi?
- Overwrite File ?
- Inform the user, without disturbing him. (Buffering stream). This might require a displaytime or something. Because how do we know how long this information should be displayed? Also think of buffering 0-100%
- present a user/passwd dialog when we get an authentication failure on a stream.
Roadmap
Scheduled for implementation in 0.8.5
Some work will have to be done in all interfaces
Objects architecture
- Interaction object
- void * pointer for interface specific stuff
- Widget object
- for input, associated with a vlc_value_t
- Interaction manager
- Maintains a list of currently active interaction displays
- When a new interaction is requested, forward the request to the interface (ASYNCHRONOUS !)
- Asks the interface to show/modify/remove a display
- Active polling ?
- Signalling the interface :
- function pointer
- easier to know if interface does not support
- variable
- cleaner ?
- "control" function
- function pointer
- Requester
- Builds the interaction object
- Add it to the interaction manager request queue.
- Queue or single with lock ?
- Analyze deadlock possibility