#27 ObexFTP: SWIG extending

None
open
None
5
2014-02-19
2009-05-24
Mouse
No

Patch enables additional low-level functions to work with OBEX object. The patch includes sample install_sis application that shows how to work with ObexFTP to install SIS file to the Symbian phone. To proper work with install_sis, you need few patches for pywbxml & libwbxml2 (they are available in the Trac / SF of each projects w/subject "Nokia ConML").

Discussion

  • Mouse
    Mouse
    2009-05-24

    SWIG extending

     
    • status: open --> open-accepted
     
  • This exposes some low-level stuff to the user. Also the swig definition file seems hardly the place for business code.
    Maybe we should make this an additional API element of ObexFTP. Is this the right procedure / the thing you need:

    PUT with TYPE and WHO header? Will something like obexftp_put_type_who() or obexftp_connect_who() and obexftp_put_type() do the trick here?

     
  • Mouse
    Mouse
    2009-06-05

    There are about 20 HDR types. I'm not sure, that limitation just for few header's type is a good.
    IMHO, It's better to have low-level functions to work on object level. I do not see some badness in that. User is free to choose between high-level functions that is already exists and low-level for full control.

    "Also the swig definition file seems hardly the place for business code."
    what do you mean? There is no a lot of overhead code in Swig. Swig definition is place for script-language bindings. So, some function needs wrappers that a not just one-to-one translation.

     
  • There is already GET with TYPE in the API. Adding PUT with TYPE seems natural. Adding a custom WHO header is also an option, perhaps that could be done automatic though.
    Do you have any other requirements besides those two? Adding a low-level API could be done too. But it should provide all kinds of low-level stuff then.

     
    • assigned_to: nobody --> zany
     
    • status: open-accepted --> open
    • Group: --> v1.7.2 or v1.8
     
    • Group: v1.7.2 or v1.8 --> None