[ http://dev.sourcefabric.org/browse/LS-405?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Baelde updated LS-405: ---------------------------- Priority: Minor (was: Blocker) > Services as methods > ------------------- > > Key: LS-405 > URL: http://dev.sourcefabric.org/browse/LS-405 > Project: Liquidsoap > Issue Type: New Feature > Components: Liquidsoap > Reporter: David Baelde > Assignee: David Baelde > > I'm considering an object-oriented extension of our scripting language that > would allow a nice integration of services (server commands) as methods. It > would make it possible for users to redefine methods, define their own. Also, > it would bring some structure to services, ensuring that they are printed in > a uniform way. Finally, it brings recursivity (through self) that was needed > in some cases: > {{{ > def live = > # dummy init, an option type would be nice... > o = ref blank() > extend input.harbor("/mount") with > method on_connect() = > o := output.file(%vorbis,"backup.ogg",self) > end > method on_disconnect() = > source.shutdown(!o) > end > end > end > }}} > It doesn't seem too hard to do (except for migrating all existing server > code) but I need to make sure how to handle the recursive types that can > arise. > There are a couple questions: > * Do we still reference sources by their ID in the server? It's not always > possible to reference them through variable names. > * How much of the API do we change? Is (!o)#shutdown preferable to > source.shutdown(!o)? Should all event handlers become methods? > * How will we print those huge types? -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://dev.sourcefabric.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Gaining the trust of online customers is vital for the success of any company that requires sensitive data to be transmitted over the Web. Learn how to best implement a security strategy that keeps consumers' information secure and instills the confidence they need to proceed with transactions. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ Savonet-devl mailing list Savonet-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-devl