<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>chrishowie.com &#187; C++</title>
	<atom:link href="http://www.chrishowie.com/category/programming/cpp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chrishowie.com</link>
	<description>The best laid plans are in my other pants</description>
	<lastBuildDate>Fri, 14 May 2010 18:16:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>VandalSniper Beta around the corner</title>
		<link>http://www.chrishowie.com/2006/06/20/vandalsniper-beta-around-the-corner/</link>
		<comments>http://www.chrishowie.com/2006/06/20/vandalsniper-beta-around-the-corner/#comments</comments>
		<pubDate>Tue, 20 Jun 2006 12:17:34 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Gecko#]]></category>
		<category><![CDATA[VandalSniper]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/2006/06/20/vandalsniper-beta-around-the-corner/</guid>
		<description><![CDATA[I&#8217;ve been amazed at how easy Gtk# has made this project. If I were using MWF I&#8217;d be spending all my time trying to get the UI to behave properly when the form is resized. Simply put, Gtk#, or rather GTK+, takes care of resizing interface elements for me, and that&#8217;s one less thing &#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been amazed at how easy Gtk# has made this project.  If I were using MWF I&#8217;d be spending all my time trying to get the UI to behave properly when the form is resized.  Simply put, Gtk#, or rather GTK+, takes care of resizing interface elements for me, and that&#8217;s one less thing &#8212; and a very complicated thing &#8212; that I have to code.</p>
<p>Granted, Gecko# can be a pain to work with, simply because it does not offer much in the way of interaction with a loaded page.  However, in a previous post I explained how I patched jscall to allow the execution of arbitrary JavaScript on a loaded page.  In combination with jscall&#8217;s existing data-passing framework, this has made my task of automating Gecko# almost painless.</p>
<p>The beta is almost here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2006/06/20/vandalsniper-beta-around-the-corner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s alive!</title>
		<link>http://www.chrishowie.com/2006/06/13/its-alive/</link>
		<comments>http://www.chrishowie.com/2006/06/13/its-alive/#comments</comments>
		<pubDate>Tue, 13 Jun 2006 09:18:54 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Gecko#]]></category>
		<category><![CDATA[VandalSniper]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/2006/06/13/gecko-interaction-2/</guid>
		<description><![CDATA[After many painful hours of Googling, more Googling, crying, pounding on the desk, and losing my temper in #mono, I have successfully added an ExecuteScript method to jscall, and the corresponding managed binding! With one method call in managed world it is now possible to execute an arbitrary script, passed as a string, inside of [...]]]></description>
			<content:encoded><![CDATA[<p>After many painful hours of Googling, more Googling, crying, pounding on the desk, and losing my temper in #mono, I have successfully added an ExecuteScript method to jscall, and the corresponding managed binding!  With one method call in managed world it is now possible to execute an arbitrary script, passed as a string, inside of a Gecko# WebControl.</p>
<p>Combined with the already-existing jscall features, this means that the glue library can be injected into any page loaded in a WebControl, <em>regardless of how that page was loaded!</em></p>
<p>I plan to reward myself by doing something that is unrelated to XPCOM in every possible way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2006/06/13/its-alive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gecko# interaction</title>
		<link>http://www.chrishowie.com/2006/06/12/gecko-interaction/</link>
		<comments>http://www.chrishowie.com/2006/06/12/gecko-interaction/#comments</comments>
		<pubDate>Tue, 13 Jun 2006 00:34:15 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Gecko#]]></category>
		<category><![CDATA[VandalSniper]]></category>

		<guid isPermaLink="false">http://www.chrishowie.com/2006/06/12/gecko-interaction/</guid>
		<description><![CDATA[While developing VandalProof, it has become very obvious that being able to interact with the DOM of the displayed page will be vital to achieving the program&#8217;s goals. At this point, Gecko# does not offer any mechanism by which I can do this. I talked with mikalh in #mono for a while, and he referred [...]]]></description>
			<content:encoded><![CDATA[<p>While developing <a target="_blank" title="VandalSniper on Wikipedia" href="http://en.wikipedia.org/wiki/User:Crazycomputers/VandalSniper">VandalProof</a>, it has become very obvious that being able to interact with the DOM of the displayed page will be vital to achieving the program&#8217;s goals.  At this point, Gecko# does not offer any mechanism by which I can do this.</p>
<p>I talked with mikalh in #mono for a while, and he referred me to <a target="_blank" title="jscall on mono's subversion repository" href="http://svn.myrealbox.com/viewcvs/trunk/aspeditor/src/jscall/">jscall</a>, which I had been investigating earlier.  Unfortunately this does not suit my needs, because it requires that a short JavaScript glue library be present on the page to work.  But with further digging, it may be possible to execute arbitrary JavaScript on any page in Gecko# by making calls to C++ world, which would in turn use <a target="_blank" title="nsIScriptLoader on XULPlanet" href="http://xulplanet.com/references/xpcomref/ifaces/nsIScriptLoader.html">nsIScriptLoader</a> to run the script.</p>
<p>More when/if I get it working.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrishowie.com/2006/06/12/gecko-interaction/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
