Can anybody please help me out on this??<br>i am not finding any clue on web to have it compiled on android linux kernel.<br><br><br><br><div class="gmail_quote">On Tue, Aug 4, 2009 at 2:25 PM, Jack Wootton <span dir="ltr">&lt;<a href="mailto:jackwootton@gmail.com">jackwootton@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Sorry, i thought you meant a C class, not a class used with JSObjects.<br>
<div><div></div><div class="h5"><br>
On Tue, Aug 4, 2009 at 3:42 AM, LG&lt;<a href="mailto:lgmagic@gmail.com">lgmagic@gmail.com</a>&gt; wrote:<br>
&gt; Doesnt this create a class??<br>
&gt;<br>
&gt; //create a class with a name<br>
&gt;     JSStringRef calObjectName = JSStringCreateWithUTF8CString(<br>
&gt; &quot;calendar&quot;);<br>
&gt;<br>
&gt;     //create a class definition<br>
&gt;     JSClassDefinition calObjectDef;<br>
&gt;     calObjectDef.version = 1;<br>
&gt;     //calObjectDef.className = calObjectName<br>
&gt;<br>
&gt;<br>
&gt;     //create a context<br>
&gt;     //context = JSGlobalContextCreate(NULL);<br>
&gt;     //assert(JSValueIsObject(context, globalObject));<br>
&gt;<br>
&gt;     //create the class<br>
&gt;     JSClassRef globalObjectClass = JSClassCreate(&amp;calObjectDef);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Aug 3, 2009 at 6:16 PM, Jack Wootton &lt;<a href="mailto:jackwootton@gmail.com">jackwootton@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; You say you&#39;e created a class, but I can&#39;t see a class in your code.<br>
&gt;&gt;<br>
&gt;&gt; On Mon, Aug 3, 2009 at 1:36 PM, LG&lt;<a href="mailto:lgmagic@gmail.com">lgmagic@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; But is the location to place the file and the source code looks fine??<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Mon, Aug 3, 2009 at 6:00 PM, Jack Wootton &lt;<a href="mailto:jackwootton@gmail.com">jackwootton@gmail.com</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I have only modified an old s60 branch of webkit so can&#39;t help you on<br>
&gt;&gt; &gt;&gt; where to put the files and compile it, since this is done differently<br>
&gt;&gt; &gt;&gt; on s60.  I&#39;m sure someone who knows more can help with this (I would<br>
&gt;&gt; &gt;&gt; be interested too). However in the list of errors you get you don&#39;t<br>
&gt;&gt; &gt;&gt; have JSObjectCallAsFunction or JSObjectSetProperty. Presumably these<br>
&gt;&gt; &gt;&gt; are not undefined references?  I had a similar problem on an old S60<br>
&gt;&gt; &gt;&gt; branch, I posted about it on Forum Nokia here<br>
&gt;&gt; &gt;&gt; <a href="http://discussion.forum.nokia.com/forum/showthread.php?t=172429" target="_blank">http://discussion.forum.nokia.com/forum/showthread.php?t=172429</a> but<br>
&gt;&gt; &gt;&gt; received no help (but since you&#39;re using SquirrelFish I doubt it&#39;s the<br>
&gt;&gt; &gt;&gt; same issue).<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On Mon, Aug 3, 2009 at 12:56 PM, LG&lt;<a href="mailto:lgmagic@gmail.com">lgmagic@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt; Hi Jack,<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; thanks for the info,<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; the problem here is i tried this and didnot work<br>
&gt;&gt; &gt;&gt; &gt; i ll elaborate on what i have tried<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; 1. i have created a class in JavascriptCore/API<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; test.cpp<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; #include &quot;UnusedParam.h&quot;<br>
&gt;&gt; &gt;&gt; &gt; #include &lt;JavaScriptCore/JavaScript.h&gt;<br>
&gt;&gt; &gt;&gt; &gt; #include &lt;assert.h&gt;<br>
&gt;&gt; &gt;&gt; &gt; #include &lt;math.h&gt;<br>
&gt;&gt; &gt;&gt; &gt; #include &lt;setjmp.h&gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; static JSGlobalContextRef context = 0;<br>
&gt;&gt; &gt;&gt; &gt; JSValueRef v;<br>
&gt;&gt; &gt;&gt; &gt; JSValueRef exception;<br>
&gt;&gt; &gt;&gt; &gt; JSStringRef functionBody;<br>
&gt;&gt; &gt;&gt; &gt; JSObjectRef function;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; int main()<br>
&gt;&gt; &gt;&gt; &gt; {<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     //create a class with a name<br>
&gt;&gt; &gt;&gt; &gt;     JSStringRef calObjectName =<br>
&gt;&gt; &gt;&gt; &gt; JSStringCreateWithUTF8CString(&quot;calendar&quot;);<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     //create a class definition<br>
&gt;&gt; &gt;&gt; &gt;     JSClassDefinition calObjectDef;<br>
&gt;&gt; &gt;&gt; &gt;     calObjectDef.version = 1;<br>
&gt;&gt; &gt;&gt; &gt;     //calObjectDef.className = calObjectName<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     //create a context<br>
&gt;&gt; &gt;&gt; &gt;     //context = JSGlobalContextCreate(NULL);<br>
&gt;&gt; &gt;&gt; &gt;     //assert(JSValueIsObject(context, globalObject));<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     //create the class<br>
&gt;&gt; &gt;&gt; &gt;     JSClassRef globalObjectClass = JSClassCreate(&amp;calObjectDef);<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     //create a global context<br>
&gt;&gt; &gt;&gt; &gt;     JSGlobalContextRef context =<br>
&gt;&gt; &gt;&gt; &gt; JSGlobalContextCreate(globalObjectClass);<br>
&gt;&gt; &gt;&gt; &gt;         JSObjectRef globalObject = JSContextGetGlobalObject(context);<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     //make the object<br>
&gt;&gt; &gt;&gt; &gt;     JSObjectRef calObject = JSObjectMake(context, globalObjectClass,<br>
&gt;&gt; &gt;&gt; &gt; NULL);<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     //set properties<br>
&gt;&gt; &gt;&gt; &gt;     JSObjectSetProperty(context, globalObject, calObjectName,<br>
&gt;&gt; &gt;&gt; &gt; calObject,<br>
&gt;&gt; &gt;&gt; &gt; kJSPropertyAttributeNone, NULL);<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     exception = NULL;<br>
&gt;&gt; &gt;&gt; &gt;     v = NULL;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     JSStringRef getCal =<br>
&gt;&gt; &gt;&gt; &gt; JSStringCreateWithUTF8CString(&quot;getCalendars&quot;);<br>
&gt;&gt; &gt;&gt; &gt;     functionBody = JSStringCreateWithUTF8CString(&quot;return NULL;&quot;);<br>
&gt;&gt; &gt;&gt; &gt;     function = JSObjectMakeFunction(context, getCal,0, NULL,<br>
&gt;&gt; &gt;&gt; &gt; functionBody,<br>
&gt;&gt; &gt;&gt; &gt; NULL, 1, &amp;exception);<br>
&gt;&gt; &gt;&gt; &gt;     assert(function &amp;&amp; !exception);<br>
&gt;&gt; &gt;&gt; &gt;     JSValueRef arguments[] = { JSValueMakeNumber(context, 2) };<br>
&gt;&gt; &gt;&gt; &gt;     v = JSObjectCallAsFunction(context, function, NULL, 1, arguments,<br>
&gt;&gt; &gt;&gt; &gt; &amp;exception);<br>
&gt;&gt; &gt;&gt; &gt;     JSStringRelease(getCal);<br>
&gt;&gt; &gt;&gt; &gt;     JSStringRelease(functionBody);<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;     return 1;<br>
&gt;&gt; &gt;&gt; &gt; }<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; 2. i added this to the make file and i get the following errors<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; undefined reference to `JSStringCreateWithUTF8CString`<br>
&gt;&gt; &gt;&gt; &gt; undefined reference to `JSClassCreate`<br>
&gt;&gt; &gt;&gt; &gt; undefined reference to `JSGlobalContextCreate`<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; etc<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; i am not sure where to put the file and compile<br>
&gt;&gt; &gt;&gt; &gt; please guide me through the approach<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; On Mon, Aug 3, 2009 at 2:29 PM, Jack Wootton &lt;<a href="mailto:jackwootton@gmail.com">jackwootton@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Hello,<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; If you mean add a new JavaScript object, then here is a reply I<br>
&gt;&gt; &gt;&gt; &gt;&gt; wrote<br>
&gt;&gt; &gt;&gt; &gt;&gt; some time ago (copied and pasted).<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Here is the API:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://gemma.apple.com/documentation/Carbon/Reference/WebKit_JavaScriptCore_Ref/index.html#//apple_ref/doc/framework/javascriptcore_fw" target="_blank">http://gemma.apple.com/documentation/Carbon/Reference/WebKit_JavaScriptCore_Ref/index.html#//apple_ref/doc/framework/javascriptcore_fw</a><br>


&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; If this is what you wish to do, then the following is a rough guide<br>
&gt;&gt; &gt;&gt; &gt;&gt; of<br>
&gt;&gt; &gt;&gt; &gt;&gt; what you need to do:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 1. Create an empty class definition, you can create an empty class<br>
&gt;&gt; &gt;&gt; &gt;&gt; definition using kJSClassDefinitionEmpty.<br>
&gt;&gt; &gt;&gt; &gt;&gt; 2. Use the class definition with the JSCoreAPI method<br>
&gt;&gt; &gt;&gt; &gt;&gt; &quot;JSClassCreate&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; to create your class.<br>
&gt;&gt; &gt;&gt; &gt;&gt; 3. Use your new class with JSObjectMake to create your new JSObject<br>
&gt;&gt; &gt;&gt; &gt;&gt; (this will be your widget object).<br>
&gt;&gt; &gt;&gt; &gt;&gt; 4  Use JSObjectSetProperty to add your new JSObject as a property of<br>
&gt;&gt; &gt;&gt; &gt;&gt; the Window object.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; It maybe useful to look at the following files in the<br>
&gt;&gt; &gt;&gt; &gt;&gt; JavaScriptCore (Although, personally I didn&#39;t find them particularly<br>
&gt;&gt; &gt;&gt; &gt;&gt; easy to understand.)<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; JavaScriptCore\API\testapi.c<br>
&gt;&gt; &gt;&gt; &gt;&gt; testapi.js<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; There are also some example programs that do what you want to do,<br>
&gt;&gt; &gt;&gt; &gt;&gt; only<br>
&gt;&gt; &gt;&gt; &gt;&gt; with different objects.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; JSPong: <a href="http://developer.apple.com/SampleCode/JSPong/index.html" target="_blank">http://developer.apple.com/SampleCode/JSPong/index.html</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; JSInterpreter:<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://developer.apple.com/samplecode/JSInterpreter/index.html" target="_blank">http://developer.apple.com/samplecode/JSInterpreter/index.html</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; More programs can be found here:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://developer.apple.com/SampleCode/Cocoa/idxInternetWeb-date.html" target="_blank">http://developer.apple.com/SampleCode/Cocoa/idxInternetWeb-date.html</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; On Mon, Aug 3, 2009 at 5:34 AM, LG&lt;<a href="mailto:lgmagic@gmail.com">lgmagic@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Hi all,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; i am new to webkit and i need to add an new object/api to<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; javascript<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; core<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; can someone share and example and tell me how to compile it in<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; webkit<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; anyhelp would be useful<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; thanks a lot<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; --<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; Ganesh<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; webkit-help mailing list<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; <a href="mailto:webkit-help@lists.webkit.org">webkit-help@lists.webkit.org</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt; <a href="http://lists.webkit.org/mailman/listinfo.cgi/webkit-help" target="_blank">http://lists.webkit.org/mailman/listinfo.cgi/webkit-help</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; --<br>
&gt;&gt; &gt;&gt; &gt;&gt; Regards<br>
&gt;&gt; &gt;&gt; &gt;&gt; Jack<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; --<br>
&gt;&gt; &gt;&gt; &gt; LG<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; --<br>
&gt;&gt; &gt;&gt; Regards<br>
&gt;&gt; &gt;&gt; Jack<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; LG<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Regards<br>
&gt;&gt; Jack<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; LG<br>
&gt;<br>
<br>
<br>
<br>
</div></div>--<br>
Regards<br>
<font color="#888888">Jack<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>LG<br>