secureswitools/swisistools/source/dbmanager/dblayer.cpp
changeset 67 3a625661d1ce
parent 60 245df5276b97
child 76 f36d4ce8961e
equal deleted inserted replaced
60:245df5276b97 67:3a625661d1ce
    19 #include "dblayer.h"
    19 #include "dblayer.h"
    20 #include "exception.h"
    20 #include "exception.h"
    21 #include "logs.h"
    21 #include "logs.h"
    22 #include "util.h"
    22 #include "util.h"
    23 #include "symbiantypes.h"
    23 #include "symbiantypes.h"
    24 #include "../sisxlibrary/utility.h"
    24 #include "utility.h"
    25 
    25 
    26 #include <string>
    26 #include <string>
    27 #include <vector>
    27 #include <vector>
    28 #include <algorithm>
    28 #include <algorithm>
    29 #include <sstream>
    29 #include <sstream>
   678 
   678 
   679 	stmtAppAttribute->BindInt64(2, aComponentId);
   679 	stmtAppAttribute->BindInt64(2, aComponentId);
   680 
   680 
   681 	//Assigning Default Values
   681 	//Assigning Default Values
   682 	TInt64 intVal = 0; 
   682 	TInt64 intVal = 0; 
       
   683 	stmtAppAttribute->BindInt64(1, intVal); //AppUid
       
   684 	stmtAppAttribute->BindInt64(4, intVal); //TypeId
   683 	stmtAppAttribute->BindInt64(5, intVal); //Attributes
   685 	stmtAppAttribute->BindInt64(5, intVal); //Attributes
   684 	stmtAppAttribute->BindInt64(6, intVal); //Hidden
   686 	stmtAppAttribute->BindInt64(6, intVal); //Hidden
   685 	stmtAppAttribute->BindInt64(7, intVal); //Embeddable
   687 	stmtAppAttribute->BindInt64(7, intVal); //Embeddable
   686 	stmtAppAttribute->BindInt64(8, intVal); //Newfile
   688 	stmtAppAttribute->BindInt64(8, intVal); //Newfile
   687 	stmtAppAttribute->BindInt64(9, intVal); //Launch
   689 	stmtAppAttribute->BindInt64(9, intVal); //Launch
   688 	stmtAppAttribute->BindInt64(11, intVal); //DefaultScreenNumber
   690 	stmtAppAttribute->BindInt64(11, intVal); //DefaultScreenNumber
   689 	std::wstring strVal(L"");
   691 	std::wstring strVal(L"");
       
   692 	stmtAppAttribute->BindStr(3, strVal);  //AppFile
   690 	stmtAppAttribute->BindStr(10, strVal); //GroupName
   693 	stmtAppAttribute->BindStr(10, strVal); //GroupName
   691 	
   694 	
   692 	int appUid = 0;
   695 	int appUid = 0;
   693 	std::string appfile;
   696 	std::string appfile;
   694 	for(ApplicationAttributeIterator applicationAttributeIter = aAppAttribute.begin(); applicationAttributeIter != aAppAttribute.end() ; ++applicationAttributeIter )
   697 	for(ApplicationAttributeIterator applicationAttributeIter = aAppAttribute.begin(); applicationAttributeIter != aAppAttribute.end() ; ++applicationAttributeIter )
   852 	std::auto_ptr<CStatement> stmtAppLocalizableInfo(iScrDbHandler->PrepareStatement(insertAppLocalizableInfo));
   855 	std::auto_ptr<CStatement> stmtAppLocalizableInfo(iScrDbHandler->PrepareStatement(insertAppLocalizableInfo));
   853 
   856 
   854 	//Assigning default value
   857 	//Assigning default value
   855 	TInt64 intVal = 0;
   858 	TInt64 intVal = 0;
   856 	stmtAppLocalizableInfo->BindInt64(4, intVal); //Locale
   859 	stmtAppLocalizableInfo->BindInt64(4, intVal); //Locale
       
   860 	stmtAppLocalizableInfo->BindInt64(5, intVal); //CaptionAndIconId
   857 	std::wstring strVal(L"");
   861 	std::wstring strVal(L"");
   858 	stmtAppLocalizableInfo->BindStr(2, strVal); //ShortCaption
   862 	stmtAppLocalizableInfo->BindStr(2, strVal);   //ShortCaption
   859 	stmtAppLocalizableInfo->BindStr(3, strVal); //GroupName
   863 	stmtAppLocalizableInfo->BindStr(3, strVal);   //GroupName
   860 
   864 	
   861 	std::string insertCaptionAndIconInfo;
   865 	std::string insertCaptionAndIconInfo;
   862 		
   866 		
   863 	insertCaptionAndIconInfo = "INSERT INTO CaptionAndIconInfo(Caption,NumberOfIcons,IconFile) VALUES(?,?,?);";
   867 	insertCaptionAndIconInfo = "INSERT INTO CaptionAndIconInfo(Caption,NumberOfIcons,IconFile) VALUES(?,?,?);";
   864 	std::auto_ptr<CStatement> stmtCaptionAndIconInfo(iScrDbHandler->PrepareStatement(insertCaptionAndIconInfo));
   868 	std::auto_ptr<CStatement> stmtCaptionAndIconInfo(iScrDbHandler->PrepareStatement(insertCaptionAndIconInfo));
       
   869 
       
   870 	//Assigning default value
       
   871 	stmtCaptionAndIconInfo->BindStr(1, strVal);   //Caption
       
   872 	stmtCaptionAndIconInfo->BindInt64(2, intVal); //NumberOfIcons
       
   873 	stmtCaptionAndIconInfo->BindStr(3, strVal);   //IconFile
       
   874 
   865 
   875 
   866 	bool captionAndIconInfoPresent = 0;
   876 	bool captionAndIconInfoPresent = 0;
   867 	//for every TLocalizableAttribute
   877 	//for every TLocalizableAttribute
   868 	stmtAppLocalizableInfo->BindInt64(1, aAppUid);
   878 	stmtAppLocalizableInfo->BindInt64(1, aAppUid);
   869 	for(LocalizableAttributeIterator localizableAttributeIter = aApplicationLocalizableAttribute.begin(); localizableAttributeIter != aApplicationLocalizableAttribute.end() ; ++localizableAttributeIter )
   879 	for(LocalizableAttributeIterator localizableAttributeIter = aApplicationLocalizableAttribute.begin(); localizableAttributeIter != aApplicationLocalizableAttribute.end() ; ++localizableAttributeIter )
   936 	std::string insertViewData;
   946 	std::string insertViewData;
   937 
   947 
   938 	insertViewData = "INSERT INTO ViewData(LocalAppInfoId,Uid,ScreenMode,CaptionAndIconId) VALUES(?,?,?,?);";
   948 	insertViewData = "INSERT INTO ViewData(LocalAppInfoId,Uid,ScreenMode,CaptionAndIconId) VALUES(?,?,?,?);";
   939 	std::auto_ptr<CStatement> stmtViewData(iScrDbHandler->PrepareStatement(insertViewData));
   949 	std::auto_ptr<CStatement> stmtViewData(iScrDbHandler->PrepareStatement(insertViewData));
   940 
   950 
       
   951 
       
   952 	//Assigning Default Value
       
   953 	TInt64 intVal = 0;
       
   954 	stmtViewData->BindInt64(2, intVal); //Uid
       
   955 	stmtViewData->BindInt64(3, intVal); //ScreenMode
       
   956 	stmtViewData->BindInt64(4, intVal); //CaptionAndIconId
       
   957 
   941 	std::string insertCaptionAndIconInfo;
   958 	std::string insertCaptionAndIconInfo;
   942 		
   959 		
   943 	insertCaptionAndIconInfo = "INSERT INTO CaptionAndIconInfo(Caption,NumberOfIcons,IconFile) VALUES(?,?,?);";
   960 	insertCaptionAndIconInfo = "INSERT INTO CaptionAndIconInfo(Caption,NumberOfIcons,IconFile) VALUES(?,?,?);";
   944 	std::auto_ptr<CStatement> stmtCaptionAndIconInfo(iScrDbHandler->PrepareStatement(insertCaptionAndIconInfo));
   961 	std::auto_ptr<CStatement> stmtCaptionAndIconInfo(iScrDbHandler->PrepareStatement(insertCaptionAndIconInfo));
   945 
   962 
   946 	//Assigning Default Value
   963 	//Assigning Default Value
   947 	TInt64 intVal = 0;
       
   948 	stmtViewData->BindInt64(3, intVal); //ScreenMode
       
   949 	stmtCaptionAndIconInfo->BindInt64(2, intVal); //NumberOfIcons
   964 	stmtCaptionAndIconInfo->BindInt64(2, intVal); //NumberOfIcons
   950 	std::wstring strVal(L"");
   965 	std::wstring strVal(L"");
       
   966 	stmtCaptionAndIconInfo->BindStr(1, strVal); //Caption
   951 	stmtCaptionAndIconInfo->BindStr(3, strVal); //IconFile
   967 	stmtCaptionAndIconInfo->BindStr(3, strVal); //IconFile
   952 
   968 
   953 	bool captionAndIconInfoPresent = 0;
   969 	bool captionAndIconInfoPresent = 0;
   954 	//for every TViewData
   970 	//for every TViewData
   955 	stmtViewData->BindInt64(1, alocalAppInfoId);
   971 	stmtViewData->BindInt64(1, alocalAppInfoId);
  1018 		stmtAppProperty->BindInt(4, appPropertyIter->iServiceUid);
  1034 		stmtAppProperty->BindInt(4, appPropertyIter->iServiceUid);
  1019 		stmtAppProperty->BindInt(5, appPropertyIter->iIntValue);
  1035 		stmtAppProperty->BindInt(5, appPropertyIter->iIntValue);
  1020 
  1036 
  1021 		if(appPropertyIter->iIsStr8Bit)
  1037 		if(appPropertyIter->iIsStr8Bit)
  1022 			{
  1038 			{
  1023 				std::string str = wstring2string(appPropertyIter->iStrValue);
  1039 				std::string str;
  1024 				std::string decodedString = Util::Base64Decode(str);
  1040 				int len = appPropertyIter->iStrValue.length();
  1025 				stmtAppProperty->BindBinary(6, decodedString);
  1041 				str.assign(appPropertyIter->iStrValue.c_str(),appPropertyIter->iStrValue.c_str()+len);
       
  1042 				stmtAppProperty->BindBinary(6, str);
  1026 			}
  1043 			}
  1027 		else
  1044 		else
  1028 			{
  1045 			{
  1029 			stmtAppProperty->BindStr(6, appPropertyIter->iStrValue);
  1046 			stmtAppProperty->BindStr(6, appPropertyIter->iStrValue);
  1030 			}
  1047 			}