<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Oct 18, 2013 at 9:27 AM, Paul Albrecht <span dir="ltr"><<a href="mailto:palbrecht@glccom.com" target="_blank">palbrecht@glccom.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On Oct 17, 2013, at 1:58 PM, "David M. Lee" <<a href="mailto:dlee@digium.com">dlee@digium.com</a>> wrote:<br>
<br>
><br>
> On Oct 17, 2013, at 1:23 PM, Paul Albrecht <<a href="mailto:palbrecht@glccom.com">palbrecht@glccom.com</a>> wrote:<br>
><br><br></div></div></blockquote><div style><br></div><div style><snip></div><div style> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb">
<div class="h5">
><br>
> I've put my wish-list to enable external ARI modules on my (newly created) ARI future work page[1].<br>
><br>
>> That said, I would expect an interface to register/unregister resource. Also, changing a resource shouldn't require recompiling asterisk.<br>
><br>
> It doesn't require recompiling Asterisk; the C code is modular. But the code generator needs some love in order to make this work well. (Hence my short list for ARI future work).<br>
><br>
> As far as registering a resource with ARI, the main function is ast_ari_add_handler()[2]. That call, and the code to build the stasis_rest_handlers tree that gets passed into it, resides in the generated res/res_ari_{resource}.c file.<br>

><br>
<br>
</div></div><div class="im HOEnZb">Suppose this will work, but why not implement resources the usual way asterisk does this sort of thing? That is, create an object via a registration interface and then call the methods on the object when they're needed. For resources, it would be something like register the uri and callbacks for the rest methods and then invoke the methods via the object when then accessed.<br>

<br>
</div><div class="HOEnZb"><div class="h5">> [1]: <a href="https://wiki.asterisk.org/wiki/x/mQeUAQ" target="_blank">https://wiki.asterisk.org/wiki/x/mQeUAQ</a><br>
> [2]: <a href="http://doxygen.asterisk.org/trunk/d4/d59/ari_8h.html#d960fe775504c2df60bcb7f7f9beb5b2" target="_blank">http://doxygen.asterisk.org/trunk/d4/d59/ari_8h.html#d960fe775504c2df60bcb7f7f9beb5b2</a><br>
><br>
> --<br></div></div></blockquote><div><br></div><div><br></div><div style>Paul:</div><div style><br></div><div style>This is the second time you've been asked not to cross-post. Developers who are working on ARI and can answer your questions are on all of the mailing lists. Please do not cross post across the mailing lists - replying on one of the mailing lists is sufficient.</div>
<div style><br></div><div style>Thanks,</div><div style><br></div><div style>Matt </div></div><div><br></div>-- <br><div dir="ltr"><div>Matthew Jordan<br></div><div>Digium, Inc. | Engineering Manager</div><div>445 Jan Davis Drive NW - Huntsville, AL 35806 - USA</div>
<div>Check us out at: <a href="http://digium.com" target="_blank">http://digium.com</a> & <a href="http://asterisk.org" target="_blank">http://asterisk.org</a></div></div>
</div></div>