/// callid is the id for the call- I only use it to keep track of calls specific to deviceIds



/**-(id)authenticateWithUsername:(NSString*)username password:(NSString*)password;
-(id)deauthenticate;

-(id)energyUsageRealtimeForDevice:(NSNumber *)deviceID starting:(NSDate *)from ending:(NSDate *)to granularity:(NSNumber *)granularity dataTypesMask:(NSUInteger)datatypes;
-(id)energyUsageOverDuration:(NSNumber *)duration device:(NSNumber *)deviceID starting:(NSDate *)from;
-(id)lastDataSetForDevice:(NSNumber *)deviceID;

// THESE WILL BE IN A MODEL LATER
-(id)requestCensusForSession;
-(id)requestCharacteristicsForDevice:(NSNumber*)deviceID;

// DO NOT USE BELOW... USE RequestProcessor.m/h
-(id)processRequestForDevice:(NSNumber *)deviceID value:(NSArray *)values;
-(id)requestStatusForProcessRequest:(NSNumber *)requestID;
**/
function authenticateWithUsername(username, password,callid, callback)
{
 data = {
    			"username":username,
    			"password":password,
    		};
      		CallAJSONRPCWithMethodDataAndId('com.burninghollow.authentication.login', data, callid, callback);
}

function deauthenticate(callid, callback)
{
data = {"sessionid":$.cookie('session'),
    		};
      		CallAJSONRPCWithMethodDataAndId('com.burninghollow.authentication.logout', data, callid, callback);
}

function energyUsageRealtimeForDevice(deviceID, from, to, granularity,datatypes,callid, callback)
{
 data = {
    			"sessionid":$.cookie('session'),
				"deviceid":deviceID,
				"from":from,
				"to":to,
				"granularity":granularity,
				"datatypes":datatypes,
    		};
      		CallAJSONRPCWithMethodDataAndId('com.burninghollow.device.data.series', data, callid, callback);
}
function energyUsageOverDuration( deviceID,from,duration,datatypes,callid, callback)
{
data = {
    			"sessionid":$.cookie('session'),
				"deviceid":deviceID,
				"from":from,
				"duration":duration,
				"datatypes":datatypes,
    		};

CallAJSONRPCWithMethodDataAndId('com.burninghollow.device.data.aggregate', data, callid, callback);
}
function lastDataSetForDevice( deviceID,callid, callback)
{
data = {
    			"sessionid":$.cookie('session'),
				"deviceid":deviceID,
			};
CallAJSONRPCWithMethodDataAndId('com.burninghollow.device.data.last', data, callid, callback);


}
function requestCensusForSession(callid,callback)
{
data = {"sessionid":$.cookie('session'),
    		};
CallAJSONRPCWithMethodDataAndId('com.burninghollow.device.census', data, callid, callback);
}

function requestCharacteristicsForGenericDevice(deviceID, callid, callback)
{
data = {"deviceid":deviceID,
    		};
CallAJSONRPCWithMethodDataAndId('com.burninghollow.device.characteristics', data, callid, callback);

}
function processRequestForDevice( deviceID, values,defer ,callid,callback)
{
data = {
    			"sessionid":$.cookie('session'),
				"deviceid":deviceID,
				"values":values,
				"defer":defer,
    		};

CallAJSONRPCWithMethodDataAndId('com.burninghollow.device.control.set.request', data, callid, callback);
}

function requestStatusForProcessRequest(requestID,callid, callback)
{
data = {"sessionid":$.cookie('session'),
		"requestid":requestID,
    		};
CallAJSONRPCWithMethodDataAndId('com.burninghollow.device.control.set.status', data, callid, callback);
}

function killProcessRequest( requestID, callid, callback)
{
data = {"sessionid":$.cookie('session'),
		"requestid":requestID,
    		};
CallAJSONRPCWithMethodDataAndId('com.burninghollow.device.control.set.killrequest', data, callid, callback);
}

function getExtendedStorageValueForKey(key, callid, callback)
{
data = {"sessionid":$.cookie('session'),
		"key":key,
    		};
CallAJSONRPCWithMethodDataAndId('com.burninghollow.account.storage.extended.get', data, callid, callback);
}

function setExtendedStorageValue(key,value, lastcheck, callid, callback)
{
data = {"sessionid":$.cookie('session'),
		"key":key,
		"value": value,
		"lastcheck": lastcheck,
    		};
CallAJSONRPCWithMethodDataAndId('com.burninghollow.account.storage.extended.set', data, callid, callback);
}

function getExtendedStorageValueForMatchingPrefix(keyprefix, callid, callback)
{
data = {"sessionid":$.cookie('session'),
		"keyprefix":key,
    		};
CallAJSONRPCWithMethodDataAndId('com.burninghollow.account.storage.extended.get', data, callid, callback);
}

function getAccountData(callid, callback)
{
data = {"sessionid":$.cookie('session'),
}

CallAJSONRPCWithMethodDataAndId('com.burninghollow.account.data.get', data, callid, callback);
}
