Your Digital Media Has Never Looked So Good

 
belltown
Posts: 1465
Joined: Thu Dec 09, 2010 1:43 pm
Contact:

Re: roXmlList implements ifArray, apparently (+ a mystery)

Tue Sep 23, 2014 7:36 pm

RokuKC wrote:
EnTerr wrote:
...
I was asking about ifGetMessagePort/ifSetMessagePort of roCaptionRenderer - why they were not returned by getInterface. And then someone apparently decided "solution" to that was to just delete ifGetMessagePort/ifSetMessagePort from the page.
...


That is correct. roCaptionRenderer does not support ifGetMessagePort/ifSetMessagePort.

RokuKC, could you explain the following please ...

The following interfaces are documented but not returned by GetInterface:

    ifSetMessagePort and ifGetMessagePort for the following components:
      roAudioPlayer
      roChannelStore
      roCodeRegistrationScreen
      roDeviceInfo
      roFileSystem
      roGridScreen
      roKeyboardScreen
      roListScreen
      roMessageDialog
      roOneLineDialog
      roParagraphScreen
      roPinEntryDialog
      roSearchScreen
      roSpringboardScreen
      roTextScreen
      roTextureManager
      roVideoPlayer
    ifSocketCast / roDataGramSocket
    ifDateTime / roDateTime
    ifSearchScreen / roSearchScreen

The following interfaces are returned by GetInterface but not documented:

    ifHttpAgent / roAppManager
    ifEnum / roMessagePort
    ifHttpAgent / roParagraphScreen
    ifSocketOption / roStreamSocket
    ifHttpAgent / roTextScreen
    ifArray / roXMLList
    ifArrayGet / roXMLList
    ifArraySet / roXMLList
    ifEnum / roXMLList

The following interfaces appear to exist but are neither documented nor returned by GetInterface:
    ifSetMessagePort and ifGetMessagePort / roImageCanvas
https://github.com/belltown/
 
EnTerr
** Valued Community Member **
Topic Author
Posts: 3834
Joined: Sun Jan 02, 2011 2:41 am

Re: roXmlList implements ifArray, apparently (+ a mystery)

Tue Sep 23, 2014 10:35 pm

TheEndless wrote:
SetMessagePort is there, and technically it is part of an interface... it was just, inexplicably, added to the ifCaptionRenderer interface instead: http://sdkdocs.roku.com/display/sdkdoc/ ... jectasVoid

Ha, that's new development - setMessagePort was added to ifCaptionRenderer page today. And it even resolves as such, exactly as it was foretold:
BrightScript Debugger> cr = createobject("rocaptionrenderer")
BrightScript Debugger> cr.ifCaptionRenderer.setMessagePort("Thanks, RokuKC!")
BrightScript Debugger>
I am left wonder if there could be "nude" methods or is it that when i find one i just don't know its parent interface?
 
User avatar
RokuKC
Posts: 315
Joined: Wed Sep 10, 2014 10:44 am
Location: Roku HQ

Re: roXmlList implements ifArray, apparently

Tue Sep 30, 2014 5:22 pm

EnTerr wrote:
...
Because a component may implement 2 interfaces with overlapping method names (as the case is here - roXmlList implements both ifList and ifArray and both have .count()s ) - there should always be a way to "explicitate" which of the two methods i want, shouldn't it?!


There shouldn't be any reason to call via an interface name, that I know of.
In case where a member function is listed on multiple interfaces it should be the same underlying implementation.

EnTerr wrote:
"Every" method belongs to an interface, it said - not "most", "many" or "oftentimes".


Yes, that's right.
 
EnTerr
** Valued Community Member **
Topic Author
Posts: 3834
Joined: Sun Jan 02, 2011 2:41 am

Re: roXmlList implements ifArray, apparently

Wed Dec 03, 2014 7:18 pm

RokuKC wrote:
EnTerr wrote:
"Every" method belongs to an interface, it said - not "most", "many" or "oftentimes".

Yes, that's right.

Thank you for the clarification!
So the discrepancies discovered by @belltown above - half of them are probably by methods implemented in the wrong interface, the other half by forgetting to document them?

Shouldn't that be fixed?! The doco part is easy to do at least.

Who is online

Users browsing this forum: No registered users and 4 guests