Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.3 KiB

  1. #include "precomp.hxx"
  2. tagPACKAGE_ENTRY::tagPACKAGE_ENTRY()
  3. {
  4. memset( PIDString, '\0', SIZEOF_STRINGIZED_CLSID );
  5. memset( &PackageDetails, '\0', sizeof(PackageDetails) );
  6. pAppDict = new APPDICT;
  7. CountOfClsidsInNullAppid = 0;
  8. CountOfTypelibsInNullAppid = 0;
  9. CountOfRemoteServerNamesInNullAppid =0;
  10. ClsidsInNullAppid = new NAMEDICT;
  11. TypelibsInNullAppid = new NAMEDICT;
  12. RemoteServerNamesInNullAppid = new NAMEDICT;
  13. Count = 0;
  14. }
  15. tagPACKAGE_ENTRY::~tagPACKAGE_ENTRY()
  16. {
  17. delete ClsidsInNullAppid;
  18. delete RemoteServerNamesInNullAppid;
  19. }
  20. void
  21. tagPACKAGE_ENTRY::AddAppEntry(
  22. APP_ENTRY * pAppEntry )
  23. {
  24. pAppDict->Insert( pAppEntry );
  25. Count++;
  26. }
  27. APP_ENTRY *
  28. tagPACKAGE_ENTRY::SearchAppEntry(
  29. char * pAppidString )
  30. {
  31. return pAppDict->Search( pAppidString, 0 );
  32. }
  33. char *
  34. tagPACKAGE_ENTRY::GetFirstClsidInNullAppidList()
  35. {
  36. return ClsidsInNullAppid->GetFirst();
  37. }
  38. char *
  39. tagPACKAGE_ENTRY::GetFirstTypelibInNullAppidList()
  40. {
  41. return TypelibsInNullAppid->GetFirst();
  42. }
  43. void
  44. tagPACKAGE_ENTRY::AddClsidToNullAppid( char * pClsidString )
  45. {
  46. if( ClsidsInNullAppid->Insert( pClsidString ) == pClsidString )
  47. CountOfClsidsInNullAppid++;
  48. }
  49. void
  50. tagPACKAGE_ENTRY::AddTypelibToNullAppid( char * pTypelibClsid )
  51. {
  52. if( TypelibsInNullAppid->Insert( pTypelibClsid ) == pTypelibClsid )
  53. CountOfTypelibsInNullAppid++;
  54. }