Leaked source code of windows server 2003
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.

63 lines
1.8 KiB

  1. using System;
  2. using MediaCenter.Video;
  3. using System.Runtime.InteropServices;
  4. using ServiceBus.Interop.RecordingGSCustomObject;
  5. namespace GuideMgr
  6. {
  7. /// <summary>
  8. /// Summary description for GuideSearch.
  9. /// </summary>
  10. public class GuideSearch
  11. {
  12. MediaCenter.Video.ShowQueryOp query;
  13. GSMediaLibrary gs;
  14. IPrograms programs;
  15. public GuideSearch(QUERYTYPE type, QUERYMODE mode, string searchstring)
  16. {
  17. gs = new GSMediaLibrary();
  18. switch (mode)
  19. {
  20. case QUERYMODE.CONTAINS:
  21. query = ShowQueryOp.Contains;
  22. break;
  23. case QUERYMODE.STARTSWITH:
  24. query = ShowQueryOp.StartsWith;
  25. break;
  26. } // switch mode
  27. switch (type)
  28. {
  29. case QUERYTYPE.KEYWORD:
  30. programs = gs.ShowsKeywordQuery(query, searchstring );
  31. break;
  32. case QUERYTYPE.TITLE:
  33. programs = gs.ShowsTitleQuery(query, searchstring);
  34. break;
  35. } // switch type
  36. }
  37. public string[,] ReturnResults()
  38. {
  39. string[,] results = new string[programs.Count,3];
  40. // Display hits
  41. for(uint i=0; i < programs.Count; i++)
  42. {
  43. results[i,0] = programs.get_Item(i).Title;
  44. results[i,1] = programs.get_Item(i).Description;
  45. results[i,2] = "";
  46. }
  47. return results;
  48. }
  49. ~GuideSearch()
  50. {
  51. // release the programs com obj
  52. Marshal.ReleaseComObject(programs);
  53. programs = null;
  54. }
  55. }
  56. }