From 54ccd309722797e79ca35fe115b0372e86850551 Mon Sep 17 00:00:00 2001
From: Jose Antonio Marquez
Date: Wed, 1 Feb 2012 13:31:35 -0800
Subject: Removing filesytem class, no longer used

Also cleaning up cloud popup IU.
---
 js/io/system/filesystem.js | 715 ---------------------------------------------
 1 file changed, 715 deletions(-)
 delete mode 100755 js/io/system/filesystem.js

(limited to 'js/io/system')

diff --git a/js/io/system/filesystem.js b/js/io/system/filesystem.js
deleted file mode 100755
index cd158812..00000000
--- a/js/io/system/filesystem.js
+++ /dev/null
@@ -1,715 +0,0 @@
-/* <copyright>
-This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
-No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
-(c) Copyright 2011 Motorola Mobility, Inc.  All Rights Reserved.
-</copyright> */
-
-////////////////////////////////////////////////////////////////////////
-//
-var Montage = 		require("montage/core/core").Montage, 
-	FileIo = 		require("js/io/system/fileio").FileIo,
-	ProjectIo = 	require("js/io/system/projectio").ProjectIo,
-	CoreIoApi =		require("js/io/system/coreioapi").CoreIoApi;
-////////////////////////////////////////////////////////////////////////
-//Exporting as File System
-exports.FileSystem = Montage.create(Object.prototype, {
-    ////////////////////////////////////////////////////////////////////
-    //
-    
-    
-    shellApiHandler :{
-        enumerable:true,
-        writable:false,
-        value:CoreIoApi
-    },
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    cloud: {
-    	enumerable: false,
-    	value: false
-    },
-    ////////////////////////////////////////////////////////////////////
-    //
-    cloud: {
-    	enumerable: false,
-    	get: function() {
-            return this._cloud;
-        },
-        set: function(value) {
-        	this._cloud = value
-        }
-    },
-    
-    
-    
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    _documentType: {
-    	enumerable: false,
-    	value: function () {
-    		//return DocumentManagerModule.DocumentManager.activeDocument.documentType; // this._documentType()
-    	}
-    },
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    newFile: {
-    	enumerable: false,
-    	value: function (template) {
-    		//Checking for cloud (to be added later)
-    		if (this.cloud) {
-    			//TODO: Add cloud integration
-                console.log("[CLOUD] New File");
-                //documentManagerModule.DocumentManager.openDocument({"type": "html"});
-    		} else {
-    			//
-	    		var file = {uri: CoreIoApi.openShellDialog({type: 'file', action: 'new'})}, type;
-    			var check = CoreIoApi.fileExists(file);
-    			
-    			
-    			
-    			
-    			
-    			
-    			
-    			
-    			
-    			
-    			
-    			
-    			
-    			
-    			//TODO: implement createFile to avoid duplicate funtionality
-    			if (check.success) {
-    				switch (check.status) {
-    					case 204:
-    						//TODO: Add logic for already existing file
-    						window.alert('Error Code 204: File already exists.');
-    						break;
-    					case 404:
-    						//File does not exists, ready to be created
-    						
-    						
-    						//TODO: The type (template) should be sent into this routine via the UI of file I/O (not by file extension as now)
-    						if (template) {
-    							type = template;
-    						} else {
-    							type = file.uri.split('.');
-    							type = type[type.length-1];
-    						}
-    						//
-    						
-    						
-    						//TODO: Improve logic
-    						//Checking for file to exist in files template folder
-    						var templateCheck = CoreIoApi.fileExists({uri: window.NativeShellApp.GetKnownFolder('appsource')+'\\document-templates\\files\\template.'+type}), content;
-    						//
-    						if (templateCheck.success) {
-    							switch (check.status) {
-    								case 204:
-    									//Template exists, so opening and getting contents to be used when creating file
-    									content = CoreIoApi.openFile({uri: 'template.'+type});
-    									if (content.content) {
-    										file.content = content.content;
-    									} else {
-    										file.content = "";
-    									}
-    									break;
-    								case 404:
-    									//No template
-    									file.content = "";
-    									break;
-    								case 500:
-    									//Error
-    									break;
-    								default:
-    									//Error
-    									break;
-    							}
-    						} else {
-    						
-    						}
-    						
-    						
-    						/*
-switch (type.toLowerCase()) {
-    							case 'html':
-    								break;
-    							case 'css':
-    								break;
-    							case 'js':
-    								break;
-    							case 'xml':
-    								break;
-    							case 'json':
-    								break;
-    							default:
-    								break;
-    						}
-*/
-    						
-    						
-    						
-    						
-    						
-    						
-    						
-    						var create = CoreIoApi.createFile(file);
-    						if (create.success) {
-    							switch (create.status) {
-    								case 201:
-    									//File was created, opening created file
-    									this.openFile(file);
-    									break;
-    								case 400:
-    									//TODO: Add error handling
-    									//window.alert('Error Code 400: File already exists.');
-    									break;
-    								case 500:
-    									//TODO: Add error handling
-    									//window.alert('Error Code 500: An error occurred while creating a new file.');
-    									break;
-    								default:
-    									//TODO: Add error handling
-    									//window.alert('Unknown Error: An error occurred while creating a new file.');
-    									break;
-    							}
-    						} else {
-    							//window.alert('Unknown Error: An error occurred while creating a new file.');
-    						}
-    						
-    						
-    						
-    						
-    						
-    						
-    						
-    						
-    						
-    						
-    						
-    						
-    						break;
-    					case 500:
-    						//TODO: Add error handling
-    						//window.alert('Error Code 500: An error occurred while creating a new file.');
-    						break;
-    					default:
-    						//TODO: Add error handling
-    						//window.alert('Unknown Error: An error occurred while creating a new file.');
-    						break;
-    				}
-	    		} else {
-	    			//TODO: Add error handling
-    				//window.alert('Unknown Error: An error occurred while creating a new file.');
-    			}
-    		}
-    		
-    	}
-    },
-    
-    
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    newProject: {
-    	enumerable: false,
-    	value: function () {	
-    		//Checking for cloud (to be added later)
-    		if (this.cloud) {
-    			//TODO: Add cloud integration
-				console.log("[CLOUD] : New Project");
-                //documentManagerModule.DocumentManager.openDocument({"type": "html"});
-    		} else {
-    			//
-	    		var directory = {uri: CoreIoApi.openShellDialog({type: 'directory', action: 'new'})};
-    			var check = CoreIoApi.directoryExists(directory);
-    			//
-    			if (check.success) {
-    				switch (check.status) {
-    					case 204:
-    						this.createProject(directory);
-    						break;
-    					case 404:
-    						//Directory does not exists, ready to be created
-    						var create = CoreIoApi.createDirectory(directory);
-    						if (create.success) {
-    							switch (create.status) {
-    								case 201:
-    									this.createProject(directory);
-    									break;
-    								case 400:
-    									window.alert('Error Code 400: Directory already exists.');
-    									break;
-    								case 500:
-    									window.alert('Error Code 500: An error occurred while creating a new directory.');
-    									break;
-    								default:
-    									window.alert('Unknown Error: An error occurred while creating a new directory.');
-    									break;
-    							}
-    						} else {
-    							window.alert('Unknown Error: An error occurred while creating a new directory.');
-    						}
-    						break;
-    					case 500:
-    						//TODO: Add error handling
-    						window.alert('Error Code 500: An error occurred while creating a new directory.');
-    						break;
-    					default:
-    						//TODO: Add error handling
-    						window.alert('Unknown Error: An error occurred while creating a new directory.');
-    						break;
-    				}
-	    		} else {
-	    			//TODO: Add error handling
-    				window.alert('Unknown Error: An error occurred while creating a new directory.');
-    			}
-    		}
-    	}
-    },
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    createFile: {
-    	enumerable: false,
-    	value: function (file) {
-    		//Checking for file to exist
-    		var check = CoreIoApi.fileExists(file), createdFile = null;
-    		//
-    		if (check.success) {
-    			switch (check.status) {
-    				case 204:
-    					//TODO: Add logic for already existing file
-    					break;
-    				case 404:
-    					//File does not exists, ready to be created
-    					var create = CoreIoApi.createFile(file);
-    					if (create.success) {
-    						switch (create.status) {
-    							case 201:
-    								//File was created
-    								createdFile = file;
-    								break;
-    							case 400:
-    								//File already exists
-    								createdFile = file;
-    								break;
-    							case 500:
-    								//Error while creating
-    								break;
-    							default:
-    								//TODO: Add error handling
-    								break;
-    						}
-    					} else {
-    						//Error creating file via API
-    					}
-    					break;
-    				case 500:
-    					//TODO: Add error handling
-    					break;
-    				default:
-    					//TODO: Add error handling
-    					break;
-    			}
-	    	} else {
-	    		//TODO: Add error handling
-    		}
-    		//
-    		return createdFile;
-    	}
-    },
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    openFile: {
-    	enumerable: false,
-    	value: function (file) {
-    		var uri, i;
-    		//Checking for file to defined (otherwise prompts for URI)
-    		if (file && file.uri) {
-    			uri = file.uri;
-    		} else {
-    			//Checking to prompt user depending on mode
-    			if (this.cloud) {
-    				//TODO: Add cloud integration
-    			} else {
-    				//Getting file URI from native prompt
-    				uri = CoreIoApi.openShellDialog({type: 'file', action: 'open'});
-    			}
-    		}
-    		//Checking for a valid URI
-    		if (uri && uri.length>0) {
-    			//Checking for URI to be single or array of URIs
-    			if (uri.constructor.toString().indexOf('Array') == -1) {
-    				//Opening single URI
-    				shellOpenFile(uri);
-    			} else {
-    				//Opening via loop of URIs
-    				for (i=0; uri[i]; i++) {
-    					shellOpenFile (uri[i]);
-    				}		
-    			}
-       		} else {
-       			//No file was selected to be opened, nothing happens
-       		}
-       		//Opening file via shell
-       		function shellOpenFile (f) {
-       			//Getting string from file
-	       		var doc = CoreIoApi.openFile({uri: f}), type = f.split('.');
-	       		//Splitting to get file extension
-	       		type = type[type.length-1];
-	       		//TODO: Fix this HACK to generate string
-	       		var dir = f.split('\\'), dir_str = '', server;
-	       		for (var i=0; i < dir.length-1; i++) {
-	       			dir_str += dir[i] + '\\';
-	       		}
-	       		//Starting an instance of the shell server on directory
-	       		server = CoreIoApi.startServer(dir_str);
-    			//Opening file in app
-    			FileIo.open(doc, type, f, server);
-       		}
-    	}
-    },
-    
-    ////////////////////////////////////////////////////////////////////
-    //Creating unified method to check for success
-    //FOR: Move, Copy, Rename
-    directoryMCRCheck: {
-    	enumerable: false,
-    	value: function (r, code) {
-    		//TODO: Add error handling for unsuccessful attempts
-    		var outcome;
-    		//
-    		if (r.success) {
-    			//
-    			outcome = {};
-    			//
-    			switch (r.status) {
-  					case 204:
-  						//Success
-    					break;
-    				case 400:
-    					//Already exists
-    					break;
-    				case 404:
-    					//Source does not exists
-    					break;
-    				case 500:
-    					//Unknonwn
-    					break;
-    				default:
-    					break;
-    			}
-    		} else {
-    			//TODO: Add error handling
-    		}
-    		//
-    		return outcome;
-    	}
-    },
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    createProject: {
-    	enumerable: false,
-    	value: function (directory) {
-    		var mjs_dir = {uri: directory.uri};
-    		mjs_dir.uri += '\\m-js';
-    		var mjs_check = CoreIoApi.directoryExists(mjs_dir);
-    		//
-    		if (mjs_check.success) {
-    			switch (mjs_check.status) {
-    				case 204:
-    					//TODO: Add logic to check for the correct version of m-js
-    					break;
-    				case 404:
-    					//m-js does not exists, ready to be created
-    					
-    					
-    					
-    					
-    					
-    					
-    					//Creating m-js folder and copying contents
-    					var mjs_folder = CoreIoApi.createDirectory(mjs_dir);
-    					if (mjs_folder.success) {
-    						switch (mjs_folder.status) {
-    							case 201:
-    								//TODO: Add error handling for error on copy sub directories
-    								
-    								
-    								var temp_dir = window.NativeShellApp.GetKnownFolder('appsource')+'\\user-document-templates\\montage-application\\systemio\\new\\project\\montage';
-    								var mjs_deps = CoreIoApi.createDirectory({uri: mjs_dir.uri+'\\deps'});
-    								
-    								//Folder created, now copying contents
-    								var copy_lib 	= CoreIoApi.copyDirectory({sourceUri: window.NativeShellApp.GetKnownFolder('frameworksource')+'\\lib', destUri: mjs_dir.uri+'\\lib'}),
-    									copy_deps 	= CoreIoApi.copyDirectory({sourceUri: window.NativeShellApp.GetKnownFolder('frameworksource')+'\\deps\\require', destUri: mjs_dir.uri+'\\deps\\require'}),
-    									copy_components = CoreIoApi.copyDirectory({sourceUri: window.NativeShellApp.GetKnownFolder('appsource')+'\\montage-components', destUri: directory.uri+'\\montage-components'});
-    								
-    								//Checking for lib operation's result
-    								if (copy_lib.success) {
-    									//Successful copy of directory
-    								} else {
-    									//Error, checking to see reason for error and this method should handling error state
-    									var check_lib = this.directoryMCRCheck(copy_lib, true);
-    								}
-    								
-    								//Checking for deps operation's result
-    								if (copy_deps.success) {
-    									//Successful copy of directory
-    								} else {
-    									//Error, checking to see reason for error and this method should handling error state
-    									var check_deps = this.directoryMCRCheck(copy_deps, true);
-    								}
-    								
-    								//Checking for components operation's result
-    								if (copy_components.success) {
-    									//Successful copy of directory
-    								} else {
-    									//Error, checking to see reason for error and this method should handling error state
-    									var check_components = this.directoryMCRCheck(copy_components, true);
-    								}
-    								
-    								var prj_tmplt = window.NativeShellApp.GetKnownFolder('appsource')+'\\document-templates\\projects\\montage';
-    								//TODO: Add error handling for file copying, clean up this HACK
-    								var copy_packagemjs = CoreIoApi.copyFile({sourceUri: window.NativeShellApp.GetKnownFolder('frameworksource')+'\\package.json', destUri: mjs_dir.uri+'\\package.json'}),
-    									copy_styles = CoreIoApi.copyFile({sourceUri: prj_tmplt+'\\styles.css', destUri: directory.uri+'\\styles.css'}),
-    									copy_appdelegate = CoreIoApi.copyFile({sourceUri: prj_tmplt+'\\appdelegate.js', destUri: directory.uri+'\\appdelegate.js'}),
-    									copy_package = CoreIoApi.copyFile({sourceUri: prj_tmplt+'\\package.json', destUri: directory.uri+'\\package.json'}),
-    									copy_index = CoreIoApi.copyFile({sourceUri: prj_tmplt+'\\index.html', destUri: directory.uri+'\\index.html'});
-    								
-    								//
-    								this.openProject(directory);
-    								
-    								
-    								
-    								
-    								break;
-    							case 400:
-    								//TODO: Add logic to handle already existing copy of m-js
-    								break;
-    							case 500:
-    								//TODO: Add error handling
-    								break;
-    							default:
-    								//TODO: Add error handling
-    								break;
-    						}
-    					} else {
-    						//TODO: Add error handling
-    					}
-    					
-    					
-    					
-    					
-    					
-    					
-    					
-    					
-    					break;
-    				case 500:
-    					//TODO: Add error handling
-    					break;
-    				default:
-    					//TODO: Add error handling
-    					break;
-    			}
-	    	} else {
-	    		//TODO: Add error handling
-    		}
-    	}
-    },
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    openProject: {
-    	enumerable: false,
-    	value: function (directory) {
-    		//TODO: Add functionality, this is a HACK
-    		
-    		
-    		
-    		
-    		
-    		var uri, i;
-    		//Checking for directory to defined (otherwise prompts for URI)
-    		if (directory && directory.uri) {
-    			uri = directory.uri;
-    		} else {
-    			//Checking to prompt user depending on mode
-    			if (this.cloud) {
-    				//TODO: Add cloud integration
-    			} else {
-    				//Getting file URI from native prompt
-    				uri = CoreIoApi.openShellDialog({type: 'directory', action: 'open'});
-    			}
-    		}
-    		//Checking for a valid URI
-    		if (uri && uri.length>0) {
-    			
-    			this.openFile({uri: uri+'\\index.html'});
-    			
-    			
-       		} else {
-       			//No file was selected to be opened, nothing happens
-       		}    		
-    		
-    		
-    		
-    		
-    		
-    	}
-    },
-    
-    
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    saveFile: {
-    	enumerable: false,
-    	value: function (f) {
-    		//console.log(f);
-    		//TODO: Add functionality
-    		//console.log('FileSystem: saveFile');
-    		//HACK
-
-			////////////////////////////////////////////////////////////////////
-			// DEBUG CODE TO TEST WebGL I/O
-			//var glData = DocumentManagerModule.DocumentManager.activeDocument.glData;
-			//DocumentManagerModule.DocumentManager.activeDocument.glData = glData;
-			////////////////////////////////////////////////////////////////////
-    		
-    		if (f) {
-    			var s = CoreIoApi.updateFile(f);
-    		} else {
-    			//HACK
-				this.saveProject();    		
-    		}
-
-    	}
-    },
-    
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    saveFileAs: {
-    	enumerable: false,
-    	value: function () {
-    		//TODO: Add functionality
-    		//console.log('FileSystem: saveFileAs');
-    		//HACK
-    		this.saveProject();
-    	}
-    },
-    
-    
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-   	saveProject: {
-    	enumerable: false,
-    	value: function () {
-    		//FileIo.save('project');
-    		//console.log(DocumentManagerModule.DocumentManager.activeDocument._userComponentSet);
-    		//DocumentManagerModule.DocumentManager.activeDocument.server.root
-    		
-			////////////////////////////////////////////////////////////////////
-			// DEBUG CODE TO TEST WebGL I/O
-			//var glData = DocumentManagerModule.DocumentManager.activeDocument.glData;
-			//DocumentManagerModule.DocumentManager.activeDocument.glData = glData;
-			////////////////////////////////////////////////////////////////////
-
-//    		var root = DocumentManagerModule.DocumentManager.activeDocument.server.root;
-//
-//    		//
-//    		var project = ProjectIo.save('montageapp',
-//                    DocumentManagerModule.DocumentManager.activeDocument.iframe.id,
-//                    DocumentManagerModule.DocumentManager.activeDocument._userComponentSet);
-//
-//
-//
-//    		//
-//    		var cssSave = this.saveFile({uri: root+'styles.css', contents: project.css});
-//    		var htmlSave = this.saveFile({uri: root+'index.html', contents: project.html});
-    		
-    	}
-    },
-    
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-   	saveAll: {
-    	enumerable: false,
-    	value: function () {
-    		//TODO: Add functionality
-    		//console.log('FileSystem: saveAll');
-    		//HACK
-    		this.saveProject();
-    	}
-    },
-    
-    
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-    closeFile: {
-    	enumerable: false,
-    	value: function () {
-    		//TODO: Add functionality
-    		console.log('FileSystem: closeFile');
-    	}
-    },
-    
-    
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    //
-   	closeProject: {
-    	enumerable: false,
-    	value: function () {
-    		//TODO: Add functionality
-    		console.log('FileSystem: closeProject');
-    	}
-    }
-    
-    
-    
-    
-    
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    ////////////////////////////////////////////////////////////////////
-});
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
\ No newline at end of file
-- 
cgit v1.2.3


From 42122c5c708769e11b626654bf3d989b6b0eddad Mon Sep 17 00:00:00 2001
From: Jose Antonio Marquez
Date: Wed, 1 Feb 2012 13:34:53 -0800
Subject: Updating after merge with other FileIO branch

---
 js/io/system/coreioapi.js |  1 -
 js/io/system/fileio.js    | 22 +++++++++++++++++++++-
 2 files changed, 21 insertions(+), 2 deletions(-)

(limited to 'js/io/system')

diff --git a/js/io/system/coreioapi.js b/js/io/system/coreioapi.js
index 3a007028..e55789c4 100755
--- a/js/io/system/coreioapi.js
+++ b/js/io/system/coreioapi.js
@@ -207,7 +207,6 @@ exports.CoreIoApi = Montage.create(Component, {
     directoryServiceURL: {
     	enumerable: false,
     	get: function() {
-    		console.log(this);
             return String(this.rootUrl+this._directoryServiceURL);
         },
         set: function(value) {
diff --git a/js/io/system/fileio.js b/js/io/system/fileio.js
index ac5812e9..f40aa96b 100755
--- a/js/io/system/fileio.js
+++ b/js/io/system/fileio.js
@@ -11,7 +11,7 @@ NOTES:
 	empty file will be created. 'contents' should be a string to be saved
 	as the file. 'contentType' is the mime type of the file.
 	
-	coreIoApi: this.application.ninja.coreIoApi
+	Core API reference in NINJA: this.application.ninja.coreIoApi
 	
 ////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////// */
@@ -65,24 +65,44 @@ exports.FileIo = Montage.create(Object.prototype, {
     readFile: {
     	enumerable: true,
     	value: function() {
+    		//Checking for API to be available
+    		if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+    			//API not available, no IO action taken
+    			return null;
+    		}
     		//
     	}
     },
     saveFile: {
     	enumerable: true,
     	value: function() {
+    		//Checking for API to be available
+    		if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+    			//API not available, no IO action taken
+    			return null;
+    		}
     		//
     	}
     },
     copyFile: {
     	enumerable: true,
     	value: function() {
+    		//Checking for API to be available
+    		if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+    			//API not available, no IO action taken
+    			return null;
+    		}
     		//
     	}
     },
     infoFile: {
     	enumerable: true,
     	value: function() {
+    		//Checking for API to be available
+    		if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+    			//API not available, no IO action taken
+    			return null;
+    		}
     		//
     	}
     }
-- 
cgit v1.2.3


From 33e655cbbb0816340c5a2e5d5cc0a6b0c7d9f53c Mon Sep 17 00:00:00 2001
From: Jose Antonio Marquez
Date: Wed, 1 Feb 2012 23:31:36 -0800
Subject: File IO clean up and setting up

Cleaned up file IO templates and removed app-caching from Ninja since it would be needed. Setting up io-mediator to hook up to controller. Still need to address naming conventions and clean up more in the io directory.
---
 js/io/system/projectio.js | 70 ++++++++++++++++++++++++++++++-----------------
 1 file changed, 45 insertions(+), 25 deletions(-)

(limited to 'js/io/system')

diff --git a/js/io/system/projectio.js b/js/io/system/projectio.js
index 822fd385..ad4cf151 100755
--- a/js/io/system/projectio.js
+++ b/js/io/system/projectio.js
@@ -4,56 +4,76 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
 (c) Copyright 2011 Motorola Mobility, Inc.  All Rights Reserved.
 </copyright> */
 
-var FileIo = require("js/io/system/fileio").FileIo;
 ////////////////////////////////////////////////////////////////////////
-//Exporting as Project I/O
-exports.ProjectIo = (require("montage/core/core").Montage).create(Object.prototype, {
+//
+var Montage = 	require("montage/core/core").Montage,
+	FileIo = 	require("js/io/system/fileio").FileIo;
+////////////////////////////////////////////////////////////////////////
+//
+exports.ProjectIo = = Montage.create(Object.prototype, {
 	////////////////////////////////////////////////////////////////////
     //
-    create: {
+    newProject: {
     	enumerable: false,
     	value: function () {
+    		//Checking for API to be available
+    		if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+    			//API not available, no IO action taken
+    			return null;
+    		}
+    		//
     	}
     },
 	////////////////////////////////////////////////////////////////////
     //
-    open: {
+    readProject: {
     	enumerable: false,
     	value: function(e) {
-    		//TODO: Add functionality
-    		console.log('ProjectIO: open');
+    		//Checking for API to be available
+    		if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+    			//API not available, no IO action taken
+    			return null;
+    		}
+    		//
     	}
     },
     ////////////////////////////////////////////////////////////////////
     //
-    save: {
+    saveProject: {
     	enumerable: false,
-    	value: function(type, id, components) {
-    		//
-    		var rObj;
+    	value: function() {
+    		//Checking for API to be available
+    		if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+    			//API not available, no IO action taken
+    			return null;
+    		}
     		//
-    		switch (type) {
-    			case 'montageapp':
-    				//
-    				var css = FileIo.save('css', id);
-    				var html = FileIo.save('html', id, components);
-    				//
-    				rObj = {html: html, css: css};
-    				break;
-    			default:
-    				break;
+    	}
+    },
+    ////////////////////////////////////////////////////////////////////
+    //
+    copyProject: {
+    	enumerable: false,
+    	value: function(e) {
+    		//Checking for API to be available
+    		if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+    			//API not available, no IO action taken
+    			return null;
     		}
     		//
-    		return rObj;
     	}
     },
     ////////////////////////////////////////////////////////////////////
     //
-    saveAs: {
+    infoProject: {
     	enumerable: false,
     	value: function(e) {
-    		//TODO: Add functionality
-    		console.log('ProjectIO: saveAs');
+    		//Checking for API to be available
+    		if (!this.application.ninja.coreIoApi.cloudAvailable()) {
+    			//API not available, no IO action taken
+    			return null;
+    		}
+    		//
     	}
     }
     ////////////////////////////////////////////////////////////////////
-- 
cgit v1.2.3