<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1 +1 @@
-Subproject commit e2bdc35b74870374dc02e546ac63c393452c35c4
+Subproject commit 1c64614565797949df1d60024b986e500409afb1</diff>
      <filename>kroll</filename>
    </modified>
    <modified>
      <diff>@@ -12,10 +12,10 @@ using namespace kroll;
 
 namespace ti
 {
-	PropertiesBinding::PropertiesBinding(std::string&amp; file_path)
+	PropertiesBinding::PropertiesBinding(std::string&amp; file_path) :
+		StaticBoundObject(),
+		logger(Logger::Get(&quot;App.Properties&quot;))
 	{
-		PRINTD(&quot;Application properties path=&quot; &lt;&lt; file_path);
-
 		Poco::File file(file_path);
 		if (!file.exists()) 
 		{
@@ -40,32 +40,37 @@ namespace ti
 	{
 		/**
 		 * @tiapi(method=True,name=App.Properties.getBool,since=0.2) Returns a property value as boolean
-		 * @tiarg(for=App.Properties.getBool,name=name,type=string) the property name
-	     * @tiresult(for=App.Properties.getBool,type=boolean) returns the value as a boolean
+		 * @tiarg[string, name] The name of the property to return
+		 * @tiarg[bool, default] The value to return if this property is not set
+		 * @tiresult[bool] The value of the property with the given name
 		 */
 		SetMethod(&quot;getBool&quot;, &amp;PropertiesBinding::GetBool);
 		/**
 		 * @tiapi(method=True,name=App.Properties.getDouble,since=0.2) Returns a property value as double
-		 * @tiarg(for=App.Properties.getDouble,name=name,type=string) the property name
-	     * @tiresult(for=App.Properties.getDouble,type=double) returns the value as a double
+		 * @tiarg[string, name] The name of the property to return
+		 * @tiarg[double, default] The value to return if this property is not set
+		 * @tiresult[double] The value of the property with the given name
 		 */
 		SetMethod(&quot;getDouble&quot;, &amp;PropertiesBinding::GetDouble);
 		/**
 		 * @tiapi(method=True,name=App.Properties.getInt,since=0.2) Returns a property value as integer
-		 * @tiarg(for=App.Properties.getInt,name=name,type=string) the property name
-	     * @tiresult(for=App.Properties.getInt,type=integer) returns the value as an integer
+		 * @tiarg[string, name] The name of the property to return
+		 * @tiarg[int, default] The value to return if this property is not set
+		 * @tiresult[int] The value of the property with the given name
 		 */
 		SetMethod(&quot;getInt&quot;, &amp;PropertiesBinding::GetInt);
 		/**
 		 * @tiapi(method=True,name=App.Properties.getString,since=0.2) Returns a property value as string
-		 * @tiarg(for=App.Properties.getString,name=name,type=string) the property name
-	     * @tiresult(for=App.Properties.getString,type=string) returns the value as a string
+		 * @tiarg[string, name] The name of the property to return
+		 * @tiarg[string, default] The value to return if this property is not set
+		 * @tiresult[string] The value of the property with the given name
 		 */
 		SetMethod(&quot;getString&quot;, &amp;PropertiesBinding::GetString);
 		/**
 		 * @tiapi(method=True,name=App.Properties.getList,since=0.2) Returns a property value as a list
-		 * @tiarg(for=App.Properties.getList,name=name,type=string) the property name
-	     * @tiresult(for=App.Properties.getList,type=list) returns the value as a list
+		 * @tiarg[list, name] The name of the property to return
+		 * @tiarg[list, default] The value to return if this property is not set
+		 * @tiresult[list] The value of the property with the given name
 		 */
 		SetMethod(&quot;getList&quot;, &amp;PropertiesBinding::GetList);
 		/**
@@ -101,49 +106,77 @@ namespace ti
 		/**
 		 * @tiapi(method=True,name=App.Properties.hasProperty,since=0.2) Checks whether a property exists
 		 * @tiarg(for=App.Properties.hasProperty,name=name,type=string) the property name
-	     * @tiresult(for=App.Properties.hasProperty,type=boolean) returns true if the property exists
+		 * @tiresult(for=App.Properties.hasProperty,type=boolean) returns true if the property exists
 		 */
 		SetMethod(&quot;hasProperty&quot;, &amp;PropertiesBinding::HasProperty);
 		/**
 		 * @tiapi(method=True,name=App.Properties.listProperties,since=0.2) Returns a list of property values
-	     * @tiresult(for=App.Properties.listProperties,type=list) returns a list of property values
+		 * @tiresult(for=App.Properties.listProperties,type=list) returns a list of property values
 		 */
 		SetMethod(&quot;listProperties&quot;, &amp;PropertiesBinding::ListProperties);
 	}
 
-	PropertiesBinding::~PropertiesBinding() {
-		if (file_path.size() &gt; 0) {
+	PropertiesBinding::~PropertiesBinding()
+	{
+		if (file_path.size() &gt; 0)
+		{
 			config-&gt;save(file_path);
 		}
 	}
 
 	void PropertiesBinding::Getter(const ValueList&amp; args, SharedValue result, Type type)
 	{
-		if (args.size() &gt; 0 &amp;&amp; args.at(0)-&gt;IsString()) {
+		if (args.size() &gt; 0 &amp;&amp; args.at(0)-&gt;IsString())
+		{
 			std::string eprefix = &quot;PropertiesBinding::Get: &quot;;
-			try {
+			try
+			{
 				std::string property = args.at(0)-&gt;ToString();
-				if (args.size() == 1) {
-					switch (type) {
-						case Bool: result-&gt;SetBool(config-&gt;getBool(property)); break;
-						case Double: result-&gt;SetDouble(config-&gt;getDouble(property)); break;
-						case Int: result-&gt;SetInt(config-&gt;getInt(property)); break;
-						case String: result-&gt;SetString(config-&gt;getString(property).c_str()); break;
-						default: break;
+				if (args.size() == 1)
+				{
+					switch (type)
+					{
+						case Bool: 
+							result-&gt;SetBool(config-&gt;getBool(property));
+							break;
+						case Double:
+							result-&gt;SetDouble(config-&gt;getDouble(property));
+							break;
+						case Int:
+							result-&gt;SetInt(config-&gt;getInt(property));
+							break;
+						case String:
+							result-&gt;SetString(config-&gt;getString(property).c_str());
+							break;
+						default:
+							break;
 					}
 					return;
 				}
-				else if (args.size() &gt;= 2) {
-					switch (type) {
-						case Bool: result-&gt;SetBool(config-&gt;getBool(property, args.at(1)-&gt;ToBool())); break;
-						case Double: result-&gt;SetDouble(config-&gt;getDouble(property, args.at(1)-&gt;ToDouble())); break;
-						case Int: result-&gt;SetInt(config-&gt;getInt(property, args.at(1)-&gt;ToInt())); break;
-						case String: result-&gt;SetString(config-&gt;getString(property, args.at(1)-&gt;ToString()).c_str()); break;
+
+				else if (args.size() &gt;= 2)
+				{
+					switch (type)
+					{
+						case Bool:
+							result-&gt;SetBool(config-&gt;getBool(property, args.at(1)-&gt;ToBool()));
+							break;
+						case Double:
+							result-&gt;SetDouble(config-&gt;getDouble(property, args.at(1)-&gt;ToDouble()));
+							break;
+						case Int:
+							result-&gt;SetInt(config-&gt;getInt(property, args.at(1)-&gt;ToInt()));
+							break;
+						case String:
+							result-&gt;SetString(config-&gt;getString(property, args.at(1)-&gt;ToString()).c_str());
+							break;
 						default: break;
 					}
 					return;
 				}
-			} catch(Poco::Exception &amp;e) {
+			}
+			catch(Poco::Exception &amp;e)
+			{
 				throw ValueException::FromString(eprefix + e.displayText());
 			}
 		}
@@ -151,21 +184,36 @@ namespace ti
 
 	void PropertiesBinding::Setter(const ValueList&amp; args, Type type)
 	{
-		if (args.size() &gt;= 2 &amp;&amp; args.at(0)-&gt;IsString()) {
+		if (args.size() &gt;= 2 &amp;&amp; args.at(0)-&gt;IsString())
+			{
 			std::string eprefix = &quot;PropertiesBinding::Set: &quot;;
-			try {
+			try
+			{
 				std::string property = args.at(0)-&gt;ToString();
-				switch (type) {
-					case Bool: config-&gt;setBool(property, args.at(1)-&gt;ToBool()); break;
-					case Double: config-&gt;setDouble(property, args.at(1)-&gt;ToDouble()); break;
-					case Int: config-&gt;setInt(property, args.at(1)-&gt;ToInt()); break;
-					case String: config-&gt;setString(property, args.at(1)-&gt;ToString()); break;
+				switch (type)
+				{
+					case Bool:
+						config-&gt;setBool(property, args.at(1)-&gt;ToBool());
+						break;
+					case Double:
+						config-&gt;setDouble(property, args.at(1)-&gt;ToDouble());
+						break;
+					case Int:
+						config-&gt;setInt(property, args.at(1)-&gt;ToInt());
+						break;
+					case String:
+						config-&gt;setString(property, args.at(1)-&gt;ToString());
+						break;
 					default: break;
 				}
-				if (file_path.size() &gt; 0) {
+
+				if (file_path.size() &gt; 0)
+				{
 					config-&gt;save(file_path);
 				}
-			} catch(Poco::Exception &amp;e) {
+			}
+			catch(Poco::Exception &amp;e)
+			{
 				throw ValueException::FromString(eprefix + e.displayText());
 			}
 		}
@@ -196,11 +244,13 @@ namespace ti
 		SharedValue stringValue = Value::Null;
 		GetString(args, stringValue);
 
-		if (!stringValue-&gt;IsNull()) {
+		if (!stringValue-&gt;IsNull())
+		{
 			SharedPtr&lt;StaticBoundList&gt; list = new StaticBoundList();
 			std::string string = stringValue-&gt;ToString();
 			Poco::StringTokenizer t(string, &quot;,&quot;, Poco::StringTokenizer::TOK_TRIM);
-			for (size_t i = 0; i &lt; t.count(); i++) {
+			for (size_t i = 0; i &lt; t.count(); i++)
+			{
 				SharedValue token = Value::NewString(t[i].c_str());
 				list-&gt;Append(token);
 			}
@@ -232,17 +282,20 @@ namespace ti
 
 	void PropertiesBinding::SetList(const ValueList&amp; args, SharedValue result)
 	{
-		if (args.size() &gt;= 2 &amp;&amp; args.at(0)-&gt;IsString() &amp;&amp; args.at(1)-&gt;IsList()) {
+		if (args.size() &gt;= 2 &amp;&amp; args.at(0)-&gt;IsString() &amp;&amp; args.at(1)-&gt;IsList())
+		{
 			std::string property = args.at(0)-&gt;ToString();
 			SharedKList list = args.at(1)-&gt;ToList();
 
 			std::string value = &quot;&quot;;
-			for (unsigned int i = 0; i &lt; list-&gt;Size(); i++) {
+			for (unsigned int i = 0; i &lt; list-&gt;Size(); i++)
+			{
 				SharedValue arg = list-&gt;At(i);
 				if (arg-&gt;IsString())
 				{
 					value += list-&gt;At(i)-&gt;ToString();
-					if (i &lt; list-&gt;Size() - 1) {
+					if (i &lt; list-&gt;Size() - 1)
+					{
 						value += &quot;,&quot;;
 					}
 				}
@@ -252,7 +305,8 @@ namespace ti
 				}
 			}
 			config-&gt;setString(property, value);
-			if (file_path.size() &gt; 0) {
+			if (file_path.size() &gt; 0)
+			{
 				config-&gt;save(file_path);
 			}
 		}
@@ -262,7 +316,8 @@ namespace ti
 	{
 		result-&gt;SetBool(false);
 
-		if (args.size() &gt;= 1 &amp;&amp; args.at(0)-&gt;IsString()) {
+		if (args.size() &gt;= 1 &amp;&amp; args.at(0)-&gt;IsString())
+		{
 			std::string property = args.at(0)-&gt;ToString();
 			result-&gt;SetBool(config-&gt;hasProperty(property));
 		}
@@ -274,7 +329,8 @@ namespace ti
 		config-&gt;keys(keys);
 
 		SharedPtr&lt;StaticBoundList&gt; property_list = new StaticBoundList();
-		for (size_t i = 0; i &lt; keys.size(); i++) {
+		for (size_t i = 0; i &lt; keys.size(); i++)
+		{
 			std::string property_name = keys.at(i);
 			SharedValue name_value = Value::NewString(property_name.c_str());
 			property_list-&gt;Append(name_value);</diff>
      <filename>modules/ti.App/Properties/properties_binding.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -16,9 +16,11 @@
 
 using namespace kroll;
 
-namespace ti {
-	class PropertiesBinding : public kroll::StaticBoundObject {
-	public:
+namespace ti
+{
+	class PropertiesBinding : public kroll::StaticBoundObject
+	{
+		public:
 		PropertiesBinding(std::string&amp; file_path);
 		PropertiesBinding();
 		virtual ~PropertiesBinding();
@@ -36,12 +38,17 @@ namespace ti {
 		void HasProperty(const ValueList&amp; args, SharedValue result);
 		void ListProperties(const ValueList&amp; args, SharedValue result);
 
-		Poco::AutoPtr&lt;Poco::Util::PropertyFileConfiguration&gt; GetConfig() { return config; }
-		
-	protected:
-		typedef enum {
+		Poco::AutoPtr&lt;Poco::Util::PropertyFileConfiguration&gt; GetConfig()
+		{
+			return config;
+		}
+
+		protected:
+		Logger* logger;
+		enum Type
+		{
 			Bool, Double, Int, String
-		} Type;
+		};
 
 		void Init();
 		void Getter(const ValueList&amp; args, SharedValue result, Type type);</diff>
      <filename>modules/ti.App/Properties/properties_binding.h</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3b763a3064fb679baaa186afaa6226efd4678019</id>
    </parent>
  </parents>
  <author>
    <name>Martin Robinson</name>
    <email>mrobinson@appcelerator.com</email>
  </author>
  <url>http://github.com/marshall/titanium/commit/b937f57b75fc8dedac51ce642533ce3f17cda06f</url>
  <id>b937f57b75fc8dedac51ce642533ce3f17cda06f</id>
  <committed-date>2009-06-11T17:50:28-07:00</committed-date>
  <authored-date>2009-06-11T17:50:28-07:00</authored-date>
  <message>Added defaults to App.Properties doc.

Added information about the previously undocumented default
values to the Properties documentation and cleaned up some
braces.</message>
  <tree>8071793d9317b2d7826b32f6f69a9430c3275429</tree>
  <committer>
    <name>Martin Robinson</name>
    <email>mrobinson@appcelerator.com</email>
  </committer>
</commit>
