private void initApplication(string device, string entityPackage, string developmentRole, string definitionXml, int databaseVersion, string url, string stringMode) { Log.i(TAG, "Creating Mobeelizer SDK ", Mobeelizer.VERSION); this.device = device; this.entityPackage = entityPackage; this.databaseVersion = databaseVersion; this.url = url; if (stringMode == null) { this.mode = MobeelizerMode.DEVELOPMENT; } else { this.mode = (MobeelizerMode)Enum.Parse(typeof(MobeelizerMode), stringMode, true); } if (this.mode == MobeelizerMode.DEVELOPMENT && developmentRole == null) { throw new ConfigurationException(META_DEVELOPMENT_ROLE + " must be set in development MobeelizerMode."); } try { byte[] id = (byte[])Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceUniqueId"); deviceIdentifier = Convert.ToBase64String(id); } catch (UnauthorizedAccessException) { throw new ConfigurationException("Could to resolve device identifier, check app capabilities - ID_CAP_IDENTITY_DEVICE is required."); } if (mode == MobeelizerMode.DEVELOPMENT) { connectionManager = new MobeelizerDevelopmentConnectionManager(developmentRole); } else { connectionManager = new MobeelizerRealConnectionManager(this); } try { definition = MobeelizerDefinitionParser.Parse(XDocument.Load(definitionXml)); } catch (XmlException e) { throw new ConfigurationException("Cannot read definition from " + definitionXml + ".", e); } vendor = definition.Vendor; application = definition.Application; versionDigest = definition.Digest; internalDatabase = new MobeelizerInternalDatabase(); fileService = new MobeelizerFileService(this); }