Enable Firefox support on Windows, and checkpoint Windows Project files.
This commit is contained in:
@@ -40,9 +40,9 @@ namespace Novell.CASA.DataEngines
|
||||
private miCASAEngine micasaengine;
|
||||
#if LINUX
|
||||
private GKEngine gkEngine = null;
|
||||
private KWalletEngine kwEngine = null;
|
||||
private FFEngine ffEngine = null;
|
||||
private KWalletEngine kwEngine = null;
|
||||
#endif
|
||||
private FFEngine ffEngine = null;
|
||||
private AggregationPol aggPol;
|
||||
|
||||
|
||||
@@ -103,8 +103,13 @@ namespace Novell.CASA.DataEngines
|
||||
{
|
||||
string storeID = (((Store)(enumerator.Current)).StoreName);
|
||||
|
||||
if(storeID.Equals(ConstStrings.FF) && (ffEngine==null) )
|
||||
{ //Use the existing instance of firefox
|
||||
//Logger.DbgLog("A-D Lib:FireFox Set up for Aggregation");
|
||||
ffEngine = new FFEngine();
|
||||
}
|
||||
#if LINUX
|
||||
if(storeID.Equals(ConstStrings.KW))
|
||||
else if(storeID.Equals(ConstStrings.KW))
|
||||
{
|
||||
Logger.DbgLog("A-D Lib: KWallet Set up for Aggregation");
|
||||
kwEngine = new KWalletEngine();
|
||||
@@ -114,11 +119,7 @@ namespace Novell.CASA.DataEngines
|
||||
Logger.DbgLog("A-D Lib:Gnome Keyring Set up for Aggregation");
|
||||
gkEngine = new GKEngine();
|
||||
}
|
||||
else if(storeID.Equals(ConstStrings.FF) && (ffEngine==null) )
|
||||
{//Use the existing instance of firefox
|
||||
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);
|
||||
}
|
||||
@@ -419,6 +420,38 @@ namespace Novell.CASA.DataEngines
|
||||
else
|
||||
return ConstStrings.CASA_STORE_NOT_AVAILABLE;
|
||||
}
|
||||
else if(StoreID == ConstStrings.CASA_STORE_FFOX)
|
||||
{
|
||||
//Use the existing instance of firefox
|
||||
if(ffEngine == null)
|
||||
ffEngine = new FFEngine();
|
||||
|
||||
if(ffEngine != null)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Logger.DbgLog("A-D Lib:Aggregatestore:Could not aggregate Gnome FireFox since FireFoxEngine not instantiated");
|
||||
}
|
||||
}
|
||||
#if LINUX
|
||||
else if( StoreID == ConstStrings.CASA_STORE_GK )
|
||||
{
|
||||
@@ -463,39 +496,6 @@ namespace Novell.CASA.DataEngines
|
||||
}
|
||||
|
||||
}
|
||||
else if(StoreID == ConstStrings.CASA_STORE_FFOX)
|
||||
{
|
||||
//Use the existing instance of firefox
|
||||
if(ffEngine == null)
|
||||
ffEngine = new FFEngine();
|
||||
|
||||
if(ffEngine != null)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
else
|
||||
Logger.DbgLog("A-D Lib:Aggregatestore:Could not aggregate Gnome FireFox since FireFoxEngine not instantiated");
|
||||
|
||||
|
||||
}
|
||||
|
||||
Logger.DbgLog("A-D Lib: Unknown Operation Requested");
|
||||
#endif
|
||||
return ConstStrings.CASA_OPERATION_FAILED;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "DEBUG;TRACE"
|
||||
DefineConstants = "DEBUG;TRACE; WIN32"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "true"
|
||||
FileAlignment = "4096"
|
||||
@@ -48,7 +48,7 @@
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "TRACE"
|
||||
DefineConstants = "TRACE; WIN32"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "false"
|
||||
FileAlignment = "4096"
|
||||
@@ -149,6 +149,11 @@
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "FFEngine.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "GKEngine.cs"
|
||||
SubType = "Code"
|
||||
@@ -169,6 +174,11 @@
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "ad_ff\FireFox.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "ad_gk\GnomeKeyring.cs"
|
||||
SubType = "Code"
|
||||
|
||||
@@ -29,197 +29,204 @@ using System.Collections;
|
||||
namespace Novell.CASA.DataEngines.FF
|
||||
{
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class Host
|
||||
{
|
||||
public IntPtr hostName;
|
||||
public IntPtr hostElement;
|
||||
public IntPtr next;
|
||||
/*public Host()
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class Host
|
||||
{
|
||||
public IntPtr hostName;
|
||||
public IntPtr hostElement;
|
||||
public IntPtr next;
|
||||
/*public Host()
|
||||
//NOT NEEDED SINCE WE GET THIS FILLED FROM NATIVE WHEN
|
||||
//WE MARSHAL PTR TO STRUCTURE
|
||||
{
|
||||
hostName = Marshal.AllocHGlobal(128);
|
||||
}
|
||||
~Host()
|
||||
{
|
||||
hostName = Marshal.AllocHGlobal(128);
|
||||
}
|
||||
~Host()
|
||||
{
|
||||
try
|
||||
{
|
||||
Marshal.FreeHGlobal(hostName);
|
||||
Marshal.FreeHGlobal(hostName);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine("FireFox:Marshal FreeHGlobal Exception for Host:");
|
||||
}
|
||||
}*/
|
||||
};
|
||||
}*/
|
||||
};
|
||||
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class HostElement
|
||||
{
|
||||
public IntPtr name;
|
||||
public IntPtr value;
|
||||
public int isPassword;
|
||||
public IntPtr next;
|
||||
/*public HostElement()
|
||||
{
|
||||
name = Marshal.AllocHGlobal(128);
|
||||
value = Marshal.AllocHGlobal(128);
|
||||
}
|
||||
~HostElement()
|
||||
{
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class HostElement
|
||||
{
|
||||
public IntPtr name;
|
||||
public IntPtr value;
|
||||
public int isPassword;
|
||||
public IntPtr next;
|
||||
/*public HostElement()
|
||||
{
|
||||
name = Marshal.AllocHGlobal(128);
|
||||
value = Marshal.AllocHGlobal(128);
|
||||
}
|
||||
~HostElement()
|
||||
{
|
||||
try
|
||||
{
|
||||
Marshal.FreeHGlobal(name);
|
||||
Marshal.FreeHGlobal(value);
|
||||
Marshal.FreeHGlobal(name);
|
||||
Marshal.FreeHGlobal(value);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine("FireFox:Marshal FreeHGlobal Exception for HostElement:");
|
||||
Console.WriteLine("FireFox:Marshal FreeHGlobal Exception for HostElement:");
|
||||
}
|
||||
}*/
|
||||
};
|
||||
}*/
|
||||
};
|
||||
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class KeyringInfo
|
||||
{
|
||||
public int lockOnIdle;
|
||||
public uint lockTimeout;
|
||||
public uint mTime;
|
||||
public uint cTime;
|
||||
public int isLocked;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class NativeItemInfo
|
||||
{
|
||||
public int itemType;
|
||||
public IntPtr displayName;
|
||||
public IntPtr secret;
|
||||
public int mTime;
|
||||
public int cTime;
|
||||
public NativeItemInfo()
|
||||
{
|
||||
displayName = Marshal.AllocHGlobal(128);
|
||||
secret = Marshal.AllocHGlobal(128);
|
||||
}
|
||||
~NativeItemInfo()
|
||||
{
|
||||
Marshal.FreeHGlobal(displayName);
|
||||
Marshal.FreeHGlobal(secret);
|
||||
}
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class KeyringInfo
|
||||
{
|
||||
public int lockOnIdle;
|
||||
public uint lockTimeout;
|
||||
public uint mTime;
|
||||
public uint cTime;
|
||||
public int isLocked;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class NativeItemInfo
|
||||
{
|
||||
public int itemType;
|
||||
public IntPtr displayName;
|
||||
public IntPtr secret;
|
||||
public int mTime;
|
||||
public int cTime;
|
||||
public NativeItemInfo()
|
||||
{
|
||||
displayName = Marshal.AllocHGlobal(128);
|
||||
secret = Marshal.AllocHGlobal(128);
|
||||
}
|
||||
~NativeItemInfo()
|
||||
{
|
||||
Marshal.FreeHGlobal(displayName);
|
||||
Marshal.FreeHGlobal(secret);
|
||||
}
|
||||
}
|
||||
|
||||
public class ItemInfo
|
||||
{
|
||||
public string itemType;
|
||||
public string displayName;
|
||||
public string secret;
|
||||
public int mTime;
|
||||
public int cTime;
|
||||
}
|
||||
public class ItemInfo
|
||||
{
|
||||
public string itemType;
|
||||
public string displayName;
|
||||
public string secret;
|
||||
public int mTime;
|
||||
public int cTime;
|
||||
}
|
||||
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class NativeAttribute
|
||||
{
|
||||
public uint type;
|
||||
public IntPtr key;
|
||||
public IntPtr value;
|
||||
}
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class NativeAttribute
|
||||
{
|
||||
public uint type;
|
||||
public IntPtr key;
|
||||
public IntPtr value;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class Attribute
|
||||
{
|
||||
public uint type;
|
||||
public string key;
|
||||
public string value;
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||
public class Attribute
|
||||
{
|
||||
public uint type;
|
||||
public string key;
|
||||
public string value;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public class FireFox
|
||||
{
|
||||
private static int MAX_PROFILES = 5; //FIXME:Maximum Profiles for Firefox - To be removed when done dynamically via a native api
|
||||
private static int LOAD_PROFILE_ALWAYSFROM_FILE = 1;
|
||||
public class FireFox
|
||||
{
|
||||
private static int MAX_PROFILES = 5; //FIXME:Maximum Profiles for Firefox - To be removed when done dynamically via a native api
|
||||
private static int LOAD_PROFILE_ALWAYSFROM_FILE = 1;
|
||||
|
||||
#if WIN32
|
||||
private const string FF_LIB = "ad_ff.dll";
|
||||
#else
|
||||
private const string FF_LIB = "libad_ff.so.1.1.1";
|
||||
#endif
|
||||
|
||||
|
||||
//Initialization functions
|
||||
[DllImport("libad_ff.so.1.1.1")]
|
||||
public static extern int FPM_GetProfileList(out IntPtr[] profileList, out IntPtr[] profileFlag);
|
||||
|
||||
[DllImport("libad_ff.so.1.1.1")]
|
||||
public static extern int FPM_FirefoxProfileInit(string profileName);
|
||||
//Initialization functions
|
||||
[DllImport(FF_LIB)]
|
||||
public static extern int FPM_GetProfileList(out IntPtr[] profileList, out IntPtr[] profileFlag);
|
||||
|
||||
[DllImport("libad_ff.so.1.1.1")]
|
||||
public static extern int FPM_IsStoreAvailable();
|
||||
[DllImport(FF_LIB)]
|
||||
public static extern int FPM_FirefoxProfileInit(string profileName);
|
||||
|
||||
[DllImport("libad_ff.so.1.1.1")]
|
||||
public static extern int FPM_FirefoxProfileExit(string profileName);
|
||||
[DllImport(FF_LIB)]
|
||||
public static extern int FPM_IsStoreAvailable();
|
||||
|
||||
//Master Password functions
|
||||
[DllImport("libad_ff.so.1.1.1")]
|
||||
public static extern int FPM_IsMasterPasswordSet(string profileName);
|
||||
[DllImport(FF_LIB)]
|
||||
public static extern int FPM_FirefoxProfileExit(string profileName);
|
||||
|
||||
[DllImport("libad_ff.so.1.1.1")]
|
||||
public static extern int FPM_CheckMasterPassword(string profileName, string masterPassword);
|
||||
//Master Password functions
|
||||
[DllImport(FF_LIB)]
|
||||
public static extern int FPM_IsMasterPasswordSet(string profileName);
|
||||
|
||||
//Signon functions
|
||||
[DllImport("libad_ff.so.1.1.1")]
|
||||
public static extern int FPM_GetSignonData(string profileName,out IntPtr host,int doRefresh);
|
||||
[DllImport(FF_LIB)]
|
||||
public static extern int FPM_CheckMasterPassword(string profileName, string masterPassword);
|
||||
|
||||
[DllImport("libad_ff.so.1.1.1")]
|
||||
public static extern int FPM_ModifyHost(string profileName, Host host, int doUpdate);
|
||||
//Signon functions
|
||||
[DllImport(FF_LIB)]
|
||||
public static extern int FPM_GetSignonData(string profileName,out IntPtr host,int doRefresh);
|
||||
|
||||
[DllImport("libad_ff.so.1.1.1")]
|
||||
public static extern int FPM_RemoveHost(string profileName, string hostName, int doUpdate);
|
||||
[DllImport(FF_LIB)]
|
||||
public static extern int FPM_ModifyHost(string profileName, Host host, int doUpdate);
|
||||
|
||||
//TBD
|
||||
//int FPM_WriteSignonData(char *profileName)
|
||||
//int FPM_AddHost(char *profileName, struct Host *host, int doUpdate)
|
||||
[DllImport(FF_LIB)]
|
||||
public static extern int FPM_RemoveHost(string profileName, string hostName, int doUpdate);
|
||||
|
||||
//TBD
|
||||
//int FPM_WriteSignonData(char *profileName)
|
||||
//int FPM_AddHost(char *profileName, struct Host *host, int doUpdate)
|
||||
|
||||
public static int IsStoreAvailable()
|
||||
{
|
||||
return FPM_IsStoreAvailable();
|
||||
}
|
||||
public static int IsStoreAvailable()
|
||||
{
|
||||
return FPM_IsStoreAvailable();
|
||||
}
|
||||
|
||||
public static int Remove_Host(string ProfileName, string hostName)
|
||||
{
|
||||
return (FPM_RemoveHost(ProfileName, hostName, 1));
|
||||
}
|
||||
public static int Remove_Host(string ProfileName, string hostName)
|
||||
{
|
||||
return (FPM_RemoveHost(ProfileName, hostName, 1));
|
||||
}
|
||||
|
||||
public static int Modify_Host(string profileName, Host mhost, int doUpdate)
|
||||
{
|
||||
//Console.WriteLine("FireFox.cs : ProfileName : " + profileName);
|
||||
//Console.WriteLine("FireFox.cs : HostName : " + (String)Marshal.PtrToStringAnsi(mhost.hostName));
|
||||
public static int Modify_Host(string profileName, Host mhost, int doUpdate)
|
||||
{
|
||||
//Console.WriteLine("FireFox.cs : ProfileName : " + profileName);
|
||||
//Console.WriteLine("FireFox.cs : HostName : " + (String)Marshal.PtrToStringAnsi(mhost.hostName));
|
||||
|
||||
return FPM_ModifyHost(profileName, mhost,1);
|
||||
}
|
||||
return FPM_ModifyHost(profileName, mhost,1);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
//GetDefaultProfileName
|
||||
//@param None
|
||||
//@return Default ProfileName on success
|
||||
// else null if not retrivable
|
||||
//--------------------------------------------------------------
|
||||
public static String GetDefaultProfileName()
|
||||
{
|
||||
//--------------------------------------------------------------
|
||||
//GetDefaultProfileName
|
||||
//@param None
|
||||
//@return Default ProfileName on success
|
||||
// else null if not retrivable
|
||||
//--------------------------------------------------------------
|
||||
public static String GetDefaultProfileName()
|
||||
{
|
||||
|
||||
IntPtr[] profileListIntPtr=new IntPtr[MAX_PROFILES];;
|
||||
IntPtr[] profileFlagsIntPtr=new IntPtr[MAX_PROFILES];;
|
||||
String[] profileList=null;
|
||||
int[] profileFlags=null;
|
||||
String profileName=null;
|
||||
int profileFlag=0;
|
||||
int profCount=0;
|
||||
String defaultProfileName=null;
|
||||
IntPtr[] profileListIntPtr=new IntPtr[MAX_PROFILES];;
|
||||
IntPtr[] profileFlagsIntPtr=new IntPtr[MAX_PROFILES];;
|
||||
String[] profileList=null;
|
||||
int[] profileFlags=null;
|
||||
String profileName=null;
|
||||
int profileFlag=0;
|
||||
int profCount=0;
|
||||
String defaultProfileName=null;
|
||||
|
||||
//Console.WriteLine("FireFox:Invoking FPM_GetProfileList:");
|
||||
profCount=FPM_GetProfileList(out profileListIntPtr,out profileFlagsIntPtr);
|
||||
//Console.WriteLine("FireFox:No of Profiles found= "+profCount);
|
||||
//Console.WriteLine("FireFox:Invoking FPM_GetProfileList:");
|
||||
profCount=FPM_GetProfileList(out profileListIntPtr,out profileFlagsIntPtr);
|
||||
//Console.WriteLine("FireFox:No of Profiles found= "+profCount);
|
||||
|
||||
//try
|
||||
///{
|
||||
//try
|
||||
///{
|
||||
for(int i=0; i< profCount; i++)
|
||||
{
|
||||
//Console.WriteLine("Firefox.cs : Inside The for Loop");
|
||||
@@ -232,167 +239,163 @@ public class HostElement
|
||||
}
|
||||
|
||||
|
||||
return defaultProfileName;
|
||||
}
|
||||
return defaultProfileName;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------
|
||||
//GetAllProfileNames
|
||||
//@param None
|
||||
//@return ProfileNames (String[]) - List of all Profile Names
|
||||
// else null
|
||||
//--------------------------------------------------------------
|
||||
public static String[] GetAllProfileNames()
|
||||
{
|
||||
//TBD:To be implemented if\when required
|
||||
return null;
|
||||
}
|
||||
//--------------------------------------------------------------
|
||||
//GetAllProfileNames
|
||||
//@param None
|
||||
//@return ProfileNames (String[]) - List of all Profile Names
|
||||
// else null
|
||||
//--------------------------------------------------------------
|
||||
public static String[] GetAllProfileNames()
|
||||
{
|
||||
//TBD:To be implemented if\when required
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//--------------------------------------------------------------
|
||||
//GetProfileData
|
||||
//GetProfileData for the specified profile
|
||||
//@param
|
||||
// profileName (string)
|
||||
//
|
||||
//@return hostList (Host) on success
|
||||
// else null
|
||||
//--------------------------------------------------------------
|
||||
public static Host GetProfileData(string profileName)
|
||||
{
|
||||
Host hostList; // = new Host(); - NOT NEEDED SINCE WE GET THIS FILLED FROM NATIVE WHEN
|
||||
// WE MARSHAL PTR TO STRUCTURE
|
||||
int methodStatusCode=-1;
|
||||
String defaultProfileName = null;
|
||||
int initProfileStatus = -1;
|
||||
//--------------------------------------------------------------
|
||||
//GetProfileData
|
||||
//GetProfileData for the specified profile
|
||||
//@param
|
||||
// profileName (string)
|
||||
//
|
||||
//@return hostList (Host) on success
|
||||
// else null
|
||||
//--------------------------------------------------------------
|
||||
public static Host GetProfileData(string profileName)
|
||||
{
|
||||
Host hostList; // = new Host(); - NOT NEEDED SINCE WE GET THIS FILLED FROM NATIVE WHEN
|
||||
// WE MARSHAL PTR TO STRUCTURE
|
||||
int methodStatusCode=-1;
|
||||
String defaultProfileName = null;
|
||||
int initProfileStatus = -1;
|
||||
|
||||
//if(methodStatusCode==1)
|
||||
{//If Init of the profile was sucessfull, get the sigon data to complete the aggregation
|
||||
IntPtr hostListIntPtr = new IntPtr();
|
||||
try
|
||||
{
|
||||
//Console.WriteLine("FireFox:Getting Data for profile "+profileName);
|
||||
methodStatusCode=-1;
|
||||
methodStatusCode = FPM_GetSignonData(profileName,out hostListIntPtr,LOAD_PROFILE_ALWAYSFROM_FILE);
|
||||
if( 1 != methodStatusCode )
|
||||
{
|
||||
//Console.WriteLine("FireFox:Getting Data for profile Failed with error "+methodStatusCode);
|
||||
hostList=null;
|
||||
return hostList;
|
||||
}
|
||||
{//If Init of the profile was sucessfull, get the sigon data to complete the aggregation
|
||||
IntPtr hostListIntPtr = new IntPtr();
|
||||
try
|
||||
{
|
||||
//Console.WriteLine("FireFox:Getting Data for profile "+profileName);
|
||||
methodStatusCode=-1;
|
||||
methodStatusCode = FPM_GetSignonData(profileName,out hostListIntPtr,LOAD_PROFILE_ALWAYSFROM_FILE);
|
||||
if( 1 != methodStatusCode )
|
||||
{
|
||||
//Console.WriteLine("FireFox:Getting Data for profile Failed with error "+methodStatusCode);
|
||||
hostList=null;
|
||||
return hostList;
|
||||
}
|
||||
hostList = null;
|
||||
hostList = (Host)Marshal.PtrToStructure(hostListIntPtr, typeof(Host));
|
||||
//This can be Null only when nothing is aggregated.
|
||||
if (((String)Marshal.PtrToStringAnsi(hostList.hostName)) == null )
|
||||
{
|
||||
//TBD: Log that there are no secrets to aggregate
|
||||
//Console.WriteLine("FireFox:no secrets to aggregate");
|
||||
hostList = null;
|
||||
hostList = (Host)Marshal.PtrToStructure(hostListIntPtr, typeof(Host));
|
||||
//This can be Null only when nothing is aggregated.
|
||||
if (((String)Marshal.PtrToStringAnsi(hostList.hostName)) == null )
|
||||
{
|
||||
//TBD: Log that there are no secrets to aggregate
|
||||
//Console.WriteLine("FireFox:no secrets to aggregate");
|
||||
hostList = null;
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
//Console.WriteLine("FireFox:Exception during invokation of FPM_GetSignonData");
|
||||
//Console.WriteLine(e.ToString());
|
||||
hostList = null;
|
||||
}
|
||||
|
||||
//Uninitialize the profile
|
||||
//Console.WriteLine("FireFox:UnInitializing the Profile "+profileName);
|
||||
//UninitProfile(profileName);
|
||||
}
|
||||
return hostList;
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
//Console.WriteLine("FireFox:Exception during invokation of FPM_GetSignonData");
|
||||
//Console.WriteLine(e.ToString());
|
||||
hostList = null;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
//InitFFProfile
|
||||
//@param profileName name of the profile
|
||||
//@return 1 on success
|
||||
// <=0 on error
|
||||
//--------------------------------------------------------------
|
||||
public static int InitProfile(string profileName)
|
||||
{
|
||||
return FPM_FirefoxProfileInit(profileName);
|
||||
}
|
||||
//Uninitialize the profile
|
||||
//Console.WriteLine("FireFox:UnInitializing the Profile "+profileName);
|
||||
//UninitProfile(profileName);
|
||||
}
|
||||
return hostList;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================
|
||||
|
||||
//--------------------------------------------------------------
|
||||
//UninitProfile
|
||||
//UninitProfile for the specified profile
|
||||
//@param
|
||||
// profileName (string)
|
||||
//
|
||||
//@return 1 on success
|
||||
// <=0 on error
|
||||
//--------------------------------------------------------------
|
||||
public static int UninitProfile(string profileName)
|
||||
{
|
||||
int methodStatusCode=-1;
|
||||
|
||||
//Console.WriteLine("FireFox:UninitProfile for "+profileName);
|
||||
methodStatusCode=-1;
|
||||
methodStatusCode = FPM_FirefoxProfileExit(profileName);
|
||||
/*if( 1 != methodStatusCode )
|
||||
//--------------------------------------------------------------
|
||||
//InitFFProfile
|
||||
//@param profileName name of the profile
|
||||
//@return 1 on success
|
||||
// <=0 on error
|
||||
//--------------------------------------------------------------
|
||||
public static int InitProfile(string profileName)
|
||||
{
|
||||
Console.WriteLine("FireFox:UninitProfile Failed with error "+methodStatusCode);
|
||||
return FPM_FirefoxProfileInit(profileName);
|
||||
}
|
||||
|
||||
|
||||
//=================================================================
|
||||
|
||||
//--------------------------------------------------------------
|
||||
//UninitProfile
|
||||
//UninitProfile for the specified profile
|
||||
//@param
|
||||
// profileName (string)
|
||||
//
|
||||
//@return 1 on success
|
||||
// <=0 on error
|
||||
//--------------------------------------------------------------
|
||||
public static int UninitProfile(string profileName)
|
||||
{
|
||||
int methodStatusCode=-1;
|
||||
|
||||
//Console.WriteLine("FireFox:UninitProfile for "+profileName);
|
||||
methodStatusCode=-1;
|
||||
methodStatusCode = FPM_FirefoxProfileExit(profileName);
|
||||
/*if( 1 != methodStatusCode )
|
||||
{
|
||||
Console.WriteLine("FireFox:UninitProfile Failed with error "+methodStatusCode);
|
||||
} */
|
||||
|
||||
return methodStatusCode;
|
||||
}
|
||||
return methodStatusCode;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------
|
||||
//isMasterPasswordSetFor
|
||||
//Is MasterPassword Set For specified profile
|
||||
//@param
|
||||
// profileName (string)
|
||||
//
|
||||
//@param profileName name of the profile
|
||||
// @return 1 if master password is set
|
||||
// 0 if master password not set
|
||||
//--------------------------------------------------------------
|
||||
public static int isMasterPasswordSetFor(string profileName)
|
||||
{
|
||||
int methodStatusCode=0;
|
||||
//--------------------------------------------------------------
|
||||
//isMasterPasswordSetFor
|
||||
//Is MasterPassword Set For specified profile
|
||||
//@param
|
||||
// profileName (string)
|
||||
//
|
||||
//@param profileName name of the profile
|
||||
// @return 1 if master password is set
|
||||
// 0 if master password not set
|
||||
//--------------------------------------------------------------
|
||||
public static int isMasterPasswordSetFor(string profileName)
|
||||
{
|
||||
int methodStatusCode=0;
|
||||
|
||||
//Console.WriteLine("FireFox:isMasterPasswordSetFor "+profileName);
|
||||
methodStatusCode = FPM_IsMasterPasswordSet(profileName);
|
||||
//Console.WriteLine("FireFox:isMasterPasswordSetFor "+profileName);
|
||||
methodStatusCode = FPM_IsMasterPasswordSet(profileName);
|
||||
|
||||
return methodStatusCode;
|
||||
}
|
||||
return methodStatusCode;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
//checkMasterPassword
|
||||
//Check if the specified master password is correct or not.
|
||||
//If it is correct then password is stored to the internal store for later use.
|
||||
//If it is wrong then nothing is stored and 0 will be returned.
|
||||
//
|
||||
//@param
|
||||
// profileName (string)
|
||||
// masterPassword (string)
|
||||
//
|
||||
// @return 1 if the specified master password is correct
|
||||
// 0 if the master password is wrong.
|
||||
//--------------------------------------------------------------
|
||||
public static int checkMasterPassword(string profileName,string masterPassword)
|
||||
{
|
||||
int methodStatusCode=0;
|
||||
//--------------------------------------------------------------
|
||||
//checkMasterPassword
|
||||
//Check if the specified master password is correct or not.
|
||||
//If it is correct then password is stored to the internal store for later use.
|
||||
//If it is wrong then nothing is stored and 0 will be returned.
|
||||
//
|
||||
//@param
|
||||
// profileName (string)
|
||||
// masterPassword (string)
|
||||
//
|
||||
// @return 1 if the specified master password is correct
|
||||
// 0 if the master password is wrong.
|
||||
//--------------------------------------------------------------
|
||||
public static int checkMasterPassword(string profileName,string masterPassword)
|
||||
{
|
||||
int methodStatusCode=0;
|
||||
|
||||
//Console.WriteLine("FireFox:checking MasterPassword for "+profileName);
|
||||
methodStatusCode = FPM_CheckMasterPassword(profileName,masterPassword);
|
||||
//Console.WriteLine("FireFox:checking MasterPassword for "+profileName);
|
||||
methodStatusCode = FPM_CheckMasterPassword(profileName,masterPassword);
|
||||
|
||||
return methodStatusCode;
|
||||
}
|
||||
|
||||
//=================Local Methods====================================
|
||||
|
||||
return methodStatusCode;
|
||||
}
|
||||
|
||||
//=================Local Methods====================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
168
c_adlib/ad_ff/firefox.vcproj
Normal file
168
c_adlib/ad_ff/firefox.vcproj
Normal file
@@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="ad_firefox_native"
|
||||
ProjectGUID="{BB304ECF-FCBA-4693-9D47-86749815DDC8}"
|
||||
RootNamespace="ad_firefox_native"
|
||||
Keyword="Win32Proj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOX_EXPORTS"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="4"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="D:/casaClean2/c_gui/Debug/ad_ff.dll"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile="$(OutDir)/firefox.pdb"
|
||||
SubSystem="2"
|
||||
ImportLibrary="$(OutDir)/firefox.lib"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FIREFOX_EXPORTS"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="3"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/ad_ff.dll"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
ImportLibrary="$(OutDir)/firefox.lib"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
|
||||
<File
|
||||
RelativePath=".\native\Common.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\CryptManager.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\DataManager.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\FirefoxPasswordManager.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\ProfileManager.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\SignonManager.cpp">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
|
||||
<File
|
||||
RelativePath=".\native\Common.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\CryptManager.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\DataManager.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\FirefoxPasswordManager.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\ProfileManager.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\native\SignonManager.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
Reference in New Issue
Block a user