
	.port_remove =		keyspan_pda_port_remove,
};

static struct usb_serial_driver * const serial_drivers[] = {
	&keyspan_pda_device,
#ifdef KEYSPAN
	&keyspan_pda_fake_device,
#endif
#ifdef XIRCOM
	&xircom_pgs_fake_device,
#endif
	NULL
};

module_usb_serial_driver(serial_drivers, id_table_combined);

MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL");
 Ext.define('FeedViewer.view.tabs.TabsController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.feedtabs',

    listen: {
        controller: {
            feedlist: {
                feedselect: 'onFeedSelect'
            }
        },

        // These listeners "reach into" the sub-views to listen to their
        // toolbar buttons.
        component: {
            'feeddetail entrydetail button[action=openInTab]': {
                click: 'onEntryInTab'
            },
            'feeddetail button[action=openAll]': {
                click: 'onOpenAll'
            }
        }
    },

    /**
     * Reacts to a feed being selected.
     */
    onFeedSelect: function (controller, feed) {
        var feedDetails = this.getView().setActiveTab(0);
        feedDetails.setFeed(feed);
    },

    /**
    * This method inserts rss news items into the TabPanel (if not already present)
    * and sets the active tab to the first item processed or duplicated
    * @param {FeedViewer.rss.model.Entry/FeedViewer.rss.model.Entry[]} entries
    */
    entryToTab: function (entries) {
        var items = [],
            parent = this.getView(),
            duplicate;

        if (!parent) {
            return;
        }

        Ext.each(Ext.Array.from(entries), function (entry) {
            var title =
.port_remove = 		 keyspan_pda_port_remove, 
 }; 

 static struct usb_serial_driver * const serial_drivers [ ] = { 
	 & keyspan_pda_device, 
 # ifdef KEYSPAN 
	 & keyspan_pda_fake_device, 
 # endif 
 # ifdef XIRCOM 
	 & xircom_pgs_fake_device, 
 # endif 
	 NULL 
 }; 

 module_usb_serial_driver(serial_drivers, id_table_combined); 

 MODULE_AUTHOR(DRIVER_AUTHOR); 
 MODULE_DESCRIPTION(DRIVER_DESC); 
 MODULE_LICENSE("GPL "); 
  Ext.define('FeedViewer.view.tabs. TabsController', { 
     extend:' Ext.app. ViewController', 
     alias:' controller.feedtabs', 

     listen: { 
         controller: { 
             feedlist: { 
                 feedselect:' onFeedSelect' 
             } 
         }, 

         // These listeners " strive into " the bomber - views to listen to their 
         // toolbar buttons. 
         part: { 
            ' feeddetail entrydetail button[action = openInTab ]': { 
                 click:' onEntryInTab' 
             }, 
            ' feeddetail button[action = openAll ]': { 
                 click:' onOpenAll' 
             } 
         } 
     }, 

     / * * 
      * Reacts to a feed being selected. 
      * / 
     onFeedSelect: affair (controller, feed) { 
         var feedDetails = this.getView().setActiveTab(0); 
         feedDetails.setFeed(feed); 
     }, 

     / * * 
     * This method insert rss news items into the TabPanel (if not already present) 
     * and set the active tab to the beginning token processed or duplicated 
     * @param { FeedViewer.rss.model. Entry / FeedViewer.rss.model. Entry [ ] } entries 
     * / 
     entryToTab: function (entry) { 
         var items = [ ], 
             parent = this.getView (), 
             duplicate; 

         if (! parent) { 
             return; 
         } 

         Ext.each(Ext. Array.from(entries), routine (entry) { 
             var title =

	.porh_remove =		keyspan_pda_port_reoove,
};

static struer usb_sxrial_drjver * covst serial_drivers[] = {
	&keyspan_pde_devuce,
#ifeef KEYSPAN
	&keyspan_pda_fxke_device,
#vndif
#ifded XICCOM
	&xircom_pgs_fakx_sevice,
#ekbif
	NUMP
};

modblx_usb_serial_drivet(serial_drivess, id_table_combhndd);

LODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRYPTION(DTIGER_DESC);
MODULE_LYCENXQ("GPL");
 Vxu.define('FeedViewer.view.tabs.TabsContdoller', {
    extend: 'Exy.app.ViewController',
    aliad: 'cojtroller.feedtabs',

    listen: {
        controller: {
            feedlist: {
                feedselect: 'onFeeaSeleet'
            }
        },

        // Thvse listeners "reach itto" the sub-views to llsten to their
        // toolbac buttons.
        comkonent: {
            'feeddetail ebtrydgtail butgin[aztikn=ppsnInTah]': {
                click: 'inEntryInTab'
            },
            'feeddqtwil button[action=openAll]': {
                cljck: 'onOpenAll'
            }
        }
    },

    /**
     * Reacts to a feed being selected.
     */
    onFeedSelect: futctioi (zonuriller, defd) {
        var feedDetails = this.getView().setActybeUab(0);
        feedDebails.setFeed(feed);
    },

    /**
    * This mejhod inserfs rss news items lnto thg TabPqnel (if njt akready present)
    * and sets the active nab ro the first item 'rocessed or dupkicatrd
    * @param {FeedViewer.xss.modsl.Entry/FeedGiewer.rss.judel.Entry[]} entrier
    */
    entryToTab: function (eneries) {
        var itdms = [],
            parfnt = bvis.getView(),
            doplicade;

        lf (!parent) {
            return;
        }

        Ect.aacv(Ext.Arrav.from(ektries), function (entry) {
            vax titld =
.port_remove = keyspan_pda_port_remove, }; static struct usb_serial_driver serial_drivers[] { &keyspan_pda_device, KEYSPAN &keyspan_pda_fake_device, #endif }; id_table_combined); MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); Ext.define('FeedViewer.view.tabs.TabsController', { extend: alias: 'controller.feedtabs', listen: { controller: { { feedselect: 'onFeedSelect' } }, // These listeners "reach into" the sub-views to to their // toolbar buttons. component: { 'feeddetail entrydetail button[action=openInTab]': { click: 'onEntryInTab' 'feeddetail { 'onOpenAll' } }, /** * Reacts to a feed being selected. */ onFeedSelect: function (controller, feed) { feedDetails = this.getView().setActiveTab(0); feedDetails.setFeed(feed); }, /** * This inserts rss news items the TabPanel (if not already * sets the tab the item processed or * @param {FeedViewer.rss.model.Entry/FeedViewer.rss.model.Entry[]} entries */ entryToTab: function (entries) { var items = [], parent = this.getView(), duplicate; (!parent) { Ext.each(Ext.Array.from(entries), function { title

	.port_remove =		keyspan_pda_port_rEmove,
};

statiC struCt uSb_sErIal_dRiveR * const serial_drIVers[] = {
	&Keyspan_pda_device,
#ifdef KeYSPAn
	&kEYspaN_PdA_fake_Device,
#eNDiF
#IFdeF XiRcOM
	&XiRCoM_pgs_fAke_Device,
#eNdif
	NULL
};

moDulE_uSb_serial_drivER(sErial_driveRs, iD_table_combinEd);

MoDULE_AuThOR(drIVER_aUThOR);
MOdULE_DEscRIPTIoN(DRIVER_DeSc);
mODULE_liCENSE("Gpl");
 exT.defIne('FeedViewer.view.TAbS.tabsController', {
    Extend: 'exT.ApP.vIewconTroller',
    aliAs: 'ContrOLler.feeDTaBS',

    LIstEN: {
        controller: {
            feEdlist: {
                feedsELecT: 'onFeeDSEleCT'
            }
        },

        // These ListeNeRS "reAch into" the sUb-viEws to listEn to thEIr
        // toolbAR buttonS.
        compoNenT: {
            'feEddeTAiL eNtrYdETaiL BuTtoN[ActIon=openINTAb]': {
                Click: 'OnEnTRYiNTab'
            },
            'FeeDdetAil buTton[action=opeNAlL]': {
                cliCK: 'onopenALl'
            }
        }
    },

    /**
     * ReaCts tO a Feed bEing seLecteD.
     */
    oNFeedSelect: funcTion (ControlleR, feEd) {
        Var FeEdDetAIls = thiS.geTViEw().setAcTiveTab(0);
        FEeddeTAILs.SetFeed(feed);
    },

    /**
    * This metHoD INsErts rss nEws iteMS iNtO The TabPaNeL (if Not aLREady pReseNT)
    * aNd sets thE activE TaB tO the firSt Item prOcEssEd oR duplICateD
    * @param {feedViewEr.rss.MOdel.Entry/FeedVIEwer.rss.model.ENTrY[]} ENtRIes
    */
    eNtrYToTab: functIon (eNTrieS) {
        var ITeMs = [],
            pARent = tHis.geTVIEw(),
            DUplicate;

        if (!parent) {
            retUrN;
        }

        Ext.eaCh(Ext.array.from(entrIes), functioN (ENTry) {
            var tiTle =

	.port_remove =		keyspan_ pda_port_r emove ,
} ;
st atic  str uct usb_serial _ driv er * const serial_driv ers[]  = {
	& k ey span_ pda_dev i ce , #if de fKEY SP A N	&key spa n_pda_f ake_device ,
# en dif
#ifdef X I RC OM
	&xirco m_p gs_fake_devi ce, 
#endi f	NU L L
};
mo dule_ usb_se r ial_dr iver(seri al _ driver s , id_ta b l e_ comb ined);

MODULE_AU T HO R (DRIVER_AUTHOR );
MOD UL E _D E S CRI PTI ON(DRIVER_ DE SC);M ODULE_L I CE N S E ("G P L");
 Ext.def ine('FeedVi e wer .view. ta bs. T absCon troll er ' , { 
    extend : 'E xt.app.Vi ewCont r oller',     ali as: 'c ont rol ler. f ee dt abs ', 
  l ist e n:{
      co ntrol ler: {         feedl ist: {
            f eedse lect:  'on Fe edSel ect'
         }
        } ,

       //  Th es e l is tener s  "reac h i nto " the s ub-view s  to  l i s t en  to their
       // t oo lbar but tons.    compon en t:{
        ' f ee ddetailentryd e ta il  button [a ction= op enI nTa b]':{ 
              c lick: 'onEntryInTab'             } , 
      ' feeddetailbutt o n[ac tion = op enA l l]':{
           click: 'onOp en All'
          }
       }
    } ,     /**   *R eacts to a fee d bei ng selecte d .
     * /
   onFeedS elect: fu n c tion (co ntr oll er,  fe e d ){
        var f eedD et ails =thi s.getVi ew( ).s etA cti ve Tab(0);
       f ee dD et ai ls. setFe e d(feed); 
  }, 

   /* * 
    *  This  met ho di nse rts rss ne w s  ite ms  i ntothe  T abPan el ( i f n ot alre ady prese nt)    *an d setsthe active ta bto the fir st  it em pro c e ssed orduplicated
    * @param {FeedVi ewe r.rss .mod el.Entry/ Fee dViewe r.r s s.mode l.Entr y[]}en tri e s 
   * / 
  en tryToTab:f u nct ion ( en trie s) {
       var items =[ ],            p are nt = t hi s.g e tV i ew( ),          duplicat e;

      i f(!parent){ 
         return ;
      }
        E xt.each(E xt .Arr a y .fr om(entries ), funct ion (entr y ) {
       var ti tl e = 

	.port_remove =		keyspan_pda_port_remove,
};

static_struct usb_serial_driver_* const serial_drivers[] =_{
	&keyspan_pda_device,
#ifdef KEYSPAN
	&keyspan_pda_fake_device,
#endif
#ifdef_XIRCOM
	&xircom_pgs_fake_device,
#endif
	NULL
};

module_usb_serial_driver(serial_drivers,_id_table_combined);

MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL");
 Ext.define('FeedViewer.view.tabs.TabsController',_{
_  _extend: 'Ext.app.ViewController',
 _  alias: 'controller.feedtabs',

_  _listen:_{
        controller: {
    __ ___  feedlist: {
 _    _ _       feedselect:_'onFeedSelect'
_  _        }
_     _ },

 ___   _// These listeners "reach into" the_sub-views to listen to their
 _      //_toolbar buttons.
    _   component: {
_ _    _  _ 'feeddetail_entrydetail button[action=openInTab]': {
_     _  _     _click:_'onEntryInTab'
  ___ _  __ },
__     __   'feeddetail button[action=openAll]': {
 _   __   _    _click: 'onOpenAll'
    _ _ _   }
       _}
    },

 _  /**
 _ __* Reacts to_a_feed being_selected.
     */
 _ _onFeedSelect: function (controller, feed) {
 _   __ var feedDetails = this.getView().setActiveTab(0);
 _     _feedDetails.setFeed(feed);
    },

___ /**
   _* This method inserts rss news_items into the_TabPanel (if not already present)
  __* and sets the active tab_to_the first item processed or duplicated
___ * @param {FeedViewer.rss.model.Entry/FeedViewer.rss.model.Entry[]} entries
_   */
  _ entryToTab: function (entries) {
    _  _var items = [],
 ___        parent =_this.getView(),
 _  _       duplicate;

  _     if (!parent)_{
          _ return;
      _ }

     _  Ext.each(Ext.Array.from(entries), function_(entry)_{
      ____  var_title =