diff --git a/c_adlib/AD_Facade.cs b/c_adlib/AD_Facade.cs index 1cf20548..aaaf9b38 100644 --- a/c_adlib/AD_Facade.cs +++ b/c_adlib/AD_Facade.cs @@ -41,6 +41,7 @@ namespace Novell.CASA.DataEngines #if LINUX private GKEngine gkEngine = null; private KWalletEngine kwEngine = null; + private FFEngine ffEngine = null; #endif private AggregationPol aggPol; @@ -52,6 +53,7 @@ namespace Novell.CASA.DataEngines #if LINUX kwEngine = new KWalletEngine(); gkEngine = new GKEngine(); + ffEngine = new FFEngine(); #endif /* @@ -88,6 +90,7 @@ namespace Novell.CASA.DataEngines #if LINUX gkEngine = null; kwEngine = null; + ffEngine = null; #endif //Read the Policy Just before you aggregate @@ -113,6 +116,11 @@ namespace Novell.CASA.DataEngines Logger.DbgLog("A-D Lib:Gnome Keyring Set up for Aggregation"); gkEngine = new GKEngine(); } + else if(storeID.Equals(ConstStrings.FF)) + { + Logger.DbgLog("A-D Lib:FireFox Set up for Aggregation"); + ffEngine = new FFEngine(); + } #endif // Console.WriteLine("StoreName = " + ((Store)(enumerator.Current)).StoreName + "StoreId = " + ((Store)(enumerator.Current)).StoreId); } @@ -171,6 +179,22 @@ namespace Novell.CASA.DataEngines } } + if (ffEngine != null) + { + XmlNode ffSecrets = ffEngine.Aggregate(); + if( null != ffSecrets ) + { + XmlNode ffImportedNode = ccf.ImportNode(ffSecrets,true); + ccf.DocumentElement.AppendChild(ffImportedNode); + } + else + { + Logger.DbgLog("A-D Lib:Failed to Connect to Gnome FireFox"); + + } + } + + #endif @@ -411,6 +435,29 @@ namespace Novell.CASA.DataEngines return ConstStrings.CASA_STORE_NOT_AVAILABLE; } + } + else if(StoreID == ConstStrings.CASA_STORE_FFOX) + { + ffEngine = new FFEngine(); + secEnum = ffEngine.Aggregate(); + if (secEnum != null ) + { + XmlNode root = outDoc.DocumentElement; + XmlNodeList ffNode = root.SelectNodes("descendant::FireFox"); + if (ffNode.Count != 0) // If there is something remove it + { + root.RemoveChild(ffNode[0]); + } + XmlNode ffImportNode = outDoc.ImportNode(secEnum,true); + root.AppendChild(ffImportNode); + return ConstStrings.CASA_SUCCESS; + } + else + { + //Console.WriteLine("FireFox some issue"); + return ConstStrings.CASA_STORE_NOT_AVAILABLE; + } + } Logger.DbgLog("A-D Lib: Unknown Operation Requested"); @@ -458,8 +505,11 @@ namespace Novell.CASA.DataEngines return GKEngine.IsStoreAvailable(); if (StoreID == ConstStrings.CASA_STORE_KWALLET) return KWalletEngine.IsStoreAvailable(); + if (StoreID == ConstStrings.CASA_STORE_FFOX) + return FFEngine.IsStoreAvailable(); return true; } - - } + + } + }