File: TODO

package info (click to toggle)
orange 0.3-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,680 kB
  • ctags: 363
  • sloc: sh: 8,846; ansic: 3,720; makefile: 83
file content (50 lines) | stat: -rw-r--r-- 1,391 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
TODO for Orange:

o Use libgsf instead of libole2

o Convert to pluggable architecture, and make Windows CE .CAB extraction one of
the plugins. Maybe something like this:

  liborange - plugin framework
  liborange-plugins - default plugins:
    - apk: TomTom .apk file
    - arh: TomTom .arh file
    - dllinflate
    - suf: SetupFactory, if libdynamite was found by the configure script
    - inno: InnoSetup, if ./configure --enable-inno
    - iscab: InstallShield .CAB file, if libunshield was found by the configure script
    - issfx1: InstallShield SFX, type 1
    - issfx2: InstallShield SFX, type 2
    - mscab:  Microsoft Cabinet File
    - mscabsplit:  Microsoft Cabinet File
    - olestream: For example .MSI files
    - vise: Installer VISE, if ./configure --enable-vise
  liborange-mscabce - plugin for saving Windows CE .CAB files:
    - mscabce: Installable Microsoft Cabinet File for Windows CE


  Plugin API:

  enum HandlingStatus
  {
    NO,
    MAYBE,
    YES,
  };

  typedef HandlingStatus (*CanHandle)(filename, magic);
  typedef bool (*Handle)(filename);
  
  struct Plugin 
  {
    /** 
      Plugins with lower ordinals are called first. For example the check 
      for installable .CAB files should be done before running cabextract! 
      Normally in range 1-100. Default value 50.
     */
    int ordinal;

    CanHandle can_handle;
    Handle handle;
  };