Comparing gs-mag dbus with g-mag dbus



I've compared the interface definitions of gs-mag dbus [1] with g-mag dbus [2a, 2b], and made some notes. For now, I'm only comparing those objects/methods that gs-mag implements. There is a whole set of methods that gs-mag doesn't even attempt yet.

There was talk of using properties, but I'm not sure where g-mag does that. Can someone comment?

[1] http://git.gnome.org/browse/gnome-shell/tree/js/ui/magnifierDBus.js
[2a] http://git.gnome.org/browse/gnome-mag/tree/xml/org.gnome.Magnifier.xml?h=bonobo-less [2b] http://git.gnome.org/browse/gnome-mag/tree/xml/org.gnome.ZoomRegion.xml?h=bonobo-less

Here's the comparison, using JSON notation. The first part notes the differences, and what gs-mag has to do to match g-mag. The last shows the ones that are the same and nothing needs doing.

org.gnome.Magnifier:
-------------------

setActive():
- { name: 'setActive', inSignature: 'b', outSignature: '' },
- Changes to g-mag dbus:
- *Non-existent in gnome-mag* -- is this a property?

createZoomRegion():
- { name: 'createZoomRegion', inSignature: 'ddaiai', outSignature: 'o' },
- Changes to gs-mag dbus:
- No change, but the arrays of integer are RectBounds of the form
  { left, top, right, bottom }, but gs-mag interprets them as
{ left, top, width, height }. Hence: need to change gs-mag implementation.
- See bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=626123
- Question: why isn't the signature in terms of structures?  Like this:
{ name: 'createZoomRegion', inSignature: 'dd{iiii}{iiii}', outSignature: 'o' },

getZoomRegions():
- { name: 'getZoomRegions', inSignature: '', outSignature: 'ao' },
- Changes to gs-mag dbus:
- *No change, but gnome-mag uses 'as' (array of string) as the return value, whereas gs-mag uses 'ao' (array of object paths).* The latter is "more accurate".

isActive():
- { name: 'isActive', inSignature: '', outSignature: 'b' },
- Changes to gs-mag dbus:
- No change.

showCursor():
- { name: 'showCursor', inSignature: '', outSignature: '' },
- Changes to gs-mag dbus:
- No change.

hideCursor():
- { name: 'hideCursor', inSignature: '', outSignature: ''  },
- Changes to gs-mag dbus:
- No change.

addZoomRegion():
- { name: 'addZoomRegion', inSignature: 'o', outSignature: 'b' },
- Changes to gs-mag dbus:
- No change.

clearAllZoomRegions():
- { name: 'clearAllZoomRegions', inSignature: '', outSignature: '' },
- Changes to gs-mag dbus:
- No change.

fullScreenCapable():
- { name: 'fullScreenCapable', inSignature: '', outSignature: 'b' },
- Changes to gs-mag dbus:
- No change.

setCrosswireSize():
- { name: 'setCrosswireSize', inSignature: 'i', outSignature: '' },
- Changes to gs-mag dbus:
- No change.

getCrosswireSize():
- { name: 'getCrosswireSize', inSignature: '', outSignature: 'i' },
- Changes to gs-mag dbus:
- No change.

setCrosswireLength():
- { name: 'setCrosswireLength', inSignature: 'i', outSignature: '' },
- Changes to gs-mag dbus:
- No change.

getCrosswireLength():
- { name: 'getCrosswireLength', inSignature: '', outSignature: 'i' },
- Changes to gs-mag dbus:
- No chnage.

setCrosswireClip():
- { name: 'setCrosswireClip', inSignature: 'b', outSignature: '' },
- Changes to gs-mag dbus:
- No change.

getCrosswireClip():
- { name: 'getCrosswireClip', inSignature: '', outSignature: 'b' },
- Changes to gs-mag dbus:
- No change.

setCrosswireColor():
- { name: 'setCrosswireColor', inSignature: 'u', outSignature: '' },
- Changes to gs-mag dbus:
- No change.

getCrosswireColor():
- { name: 'getCrosswireColor', inSignature: '', outSignature: 'u' }
- Changes to gs-mag dbus:
- No change.

org.gnome.Magnifier.ZoomRegion:
------------------------------
setMagFactor():
{ name: 'setMagFactor', inSignature: 'dd', outSignature: ''},
Changes to gs-mag dbus:
{ name: 'setMagFactor', inSignature: 'dd', outSignature: 'b'},

Comment:  setMagFactor() now returns true/false.

getMagFactor():
{ name: 'getMagFactor', inSignature: '', outSignature: 'dd' },
Changes to gs-mag dbus:
{ name: 'getMagFactor', inSignature: '', outSignature: 'ad' },

Commment:  getMagFactor now returns an array of double.

setRoi():
{ name: 'setRoi', inSignature: 'ai', outSignature: '' },
Changes to gs-mag dbus:
No change to signature, but the array of integer represents a
RectBounds { x1, y1, x2, y2 }, where that means { left, top, right, bottom }.
The code in setRoi() assumes that it's { left, top, width, height }.
Hence: need to change gs-mag implementation.
See bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=626123
*Question: why isn't the signature in terms of structures?*  Like this:
{ name: 'setRoi', inSignature: '{iiii}', outSignature: '' },

getRoi():
{ name: 'getRoi', inSignature: '', outSignature: 'ai' },
Changes to gs-mag dbus:
No change to signature, but the array of integer represents a
RectBounds { x1, y1, x2, y2 }, where that means { left, top, right, bottom }.
The code in getRoi() assumes that it's { left, top, width, height }.
Hence: need to change gs-mag implementation.
See bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=626123
Question: why isn't the signature in terms of structures?  Like this:
{ name: 'getRoi', inSignature: '', outSignature: '{iiii}' },

shiftContentsTo():
{ name: 'shiftContentsTo', inSignature: 'ii', outSignature: 'b' },
Changes to gs-mag dbus:
No change, but *needs to be added to gnome-mag*.

moveResize():
{ name: 'moveResize', inSignature: 'ai', outSignature: '' }
Changes to gs-mag dbus:
no change to signature, but the array of integer represents a
RectBounds { x1, y1, x2, y2 }, where that means { left, top, right, bottom }.
The code in moveResize() assumes that it's { left, top, width, height }.
Hence: need to change gs-mag implementation.
See bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=626123
Question: why isn't the signature in terms of structures?  Like this:
{ name: 'moveResize', inSignature: '{iiii}', outSignature: '' },

dispose():
non-existant
Changes to gs-mag dbus:  add methods
{ name: 'dispose', inSignature: '', outSignature: '' }

--
;;;;joseph

'Clown control to Mao Tse Tung.'
 - D. Bowie (misheard lyric) -



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]