Examples of UPnPDeviceImpl


Examples of org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPDeviceImpl

        if (devices.containsKey(udn)) {
          if (parseUSN.isDevice()) {
                      Activator.logger.DEBUG("[Importer] parseUSN.isDevice ...unregistering all the children devices ");
                     
            //unregistering all the children devices
            UPnPDeviceImpl dev = ((OSGiDeviceInfo) devices.get(udn)).getOSGiDevice();
            removeOSGiandUPnPDeviceHierarchy(dev);
 
          } else if (parseUSN.isService()) {
                      Activator.logger.DEBUG("[Importer] parseUSN.isService ...registering modified device again ");
            /*
             * I have to unregister the UPnPDevice and register it again
             * with the updated properties 
             */
            UPnPDeviceImpl device =
                          ((OSGiDeviceInfo) devices.get(udn)).getOSGiDevice();
            ServiceRegistration registar =
                          ((OSGiDeviceInfo) devices.get(udn)).getRegistration();
            String[] oldServicesID =
                          (String[]) (device.getDescriptions(null).get(UPnPService.ID));
            String[] oldServiceType =
                          (String[]) (device.getDescriptions(null).get(UPnPService.TYPE));
                     
            Device cyberDevice = findDeviceCtrl(this, udn);
            Vector vec = new Vector();
            for (int i = 0; i < oldServiceType.length; i++) {
              Service ser = cyberDevice.getService(oldServicesID[i]);
              if (!(ser.getServiceType().equals(parseUSN.getServiceType())))
                          {
                vec.add(oldServicesID[i]);
              }
            }
 
                      //new serviceID
            String[] actualServicesID = new String[vec.size()];
            actualServicesID = (String[]) vec.toArray(new String[]{});
 
                      //new serviceType
            String[] actualServiceType = new String[oldServiceType.length - 1];
            vec.clear();
            for (int i = 0; i < oldServiceType.length; i++) {
              if (!(oldServiceType[i].equals(parseUSN.getServiceType())))
                          {
                vec.add(oldServiceType[i]);
              }
            }
            actualServiceType = (String[]) vec.toArray(new String[]{});
 
                      //unrigistering and registering again with the new properties
            unregisterUPnPDevice(registar);
            device.setProperty(UPnPService.ID, actualServicesID);
            device.setProperty(UPnPService.TYPE, actualServiceType);
            registerUPnPDevice(null, device, device.getDescriptions(null));
            searchForListener(cyberDevice);
          }
        }
       
      }//synchronized(devices)
View Full Code Here

Examples of org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPDeviceImpl

     * registering the new Device as OSGi UPnPDevice and then add
     * ServiceRegistration and UPnPDevice reference to the hashtable
     * that contains local devices
     */
    if (prop == null && upnpDev == null) {
      UPnPDeviceImpl newDevice = new UPnPDeviceImpl(dev, context);
      ServiceRegistration registration =
                context.registerService(UPnPDevice.class.getName(),
                                        newDevice,
                                        newDevice.getDescriptions(null));
      OSGiDeviceInfo deviceInfo =
                new OSGiDeviceInfo(newDevice,registration);
           
            String udn = (String) ((newDevice.getDescriptions(null)).get(UPnPDevice.UDN));
      devices.put(udn, deviceInfo);
    } else {
      ServiceRegistration registration =
                context.registerService(UPnPDevice.class.getName(), upnpDev, prop);
      OSGiDeviceInfo deviceInfo =
View Full Code Here

Examples of org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPDeviceImpl

  }
   
    public void doServiceUpdating(String udn,String serviceType){
        Activator.logger.DEBUG("[Importer] check for service updating");
        OSGiDeviceInfo deviceinfo = (OSGiDeviceInfo) devices.get(udn);
        UPnPDeviceImpl device = deviceinfo.getOSGiDevice();
        boolean isSerPresent = device.existServiceType(serviceType);
        if (!isSerPresent) {
            /*
             * The serivice doesn't exist so it's new.
             * Find the udn of owner device and re-register the owner
             */
            ServiceRegistration registar =
                ((OSGiDeviceInfo) devices.remove(udn)).getRegistration();
            String[] oldServicesID =
                (String[]) device.getDescriptions(null).get(UPnPServiceImpl.ID);
            String[] oldServicesType =
                (String[]) device.getDescriptions(null).get(UPnPServiceImpl.TYPE);
           
            //to handle multiple instance of a serivice of the same type
            Device cyberDevice = findDeviceCtrl(this, udn);
            ServiceList serviceList = cyberDevice.getServiceList();
            ArrayList newServicesID = new ArrayList();

            for (int i = 0; i < serviceList.size(); i++) {
                if (serviceList.getService(i).getServiceType()
                        .equals(serviceType))
                {
                    newServicesID.add(serviceList.getService(i).getServiceID());
                }
            }
           
            //adding the new servicesID
            String[] currentServicesID =
                new String[(oldServicesID.length + newServicesID.size())];
            int endOld = 1;
            for (int i = 0; i < oldServicesID.length; i++) {
                currentServicesID[i] = oldServicesID[i];
                endOld++;
            }
            int j = 0;
            for (; endOld < currentServicesID.length; endOld++) {
                currentServicesID[endOld] = (String) newServicesID.get(j);
                j++;
            }
           
            //adding the new ServiceType
            String[] currentServicesType = new String[oldServicesType.length + 1];
            for (int i = 0; i < oldServicesType.length; i++) {
                currentServicesType[i] = oldServicesType[i];
            }
            currentServicesType[currentServicesType.length - 1] = serviceType;
           
           
            // unregistring the OSGi Device
            // and setting new properties
            unregisterUPnPDevice(registar);
            device.setProperty(UPnPService.ID, currentServicesID);
            device.setProperty(UPnPServiceImpl.TYPE,currentServicesType);
           
            //registering the service with the updated properties
            //TODO Check if null to the first paramaters is correct or it requires the reference to the cyberdomo upnp device
            registerUPnPDevice(null, device, device.getDescriptions(null));
            searchForListener(cyberDevice);
        }  
    }
View Full Code Here

Examples of org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPDeviceImpl

        if (devices.containsKey(udn)) {
          if (parseUSN.isDevice()) {
                      Activator.logger.DEBUG("[Importer] parseUSN.isDevice ...unregistering all the children devices ");
                     
            //unregistering all the children devices
            UPnPDeviceImpl dev = ((OSGiDeviceInfo) devices.get(udn)).getOSGiDevice();
            removeOSGiandUPnPDeviceHierarchy(dev);
 
          } else if (parseUSN.isService()) {
                      Activator.logger.DEBUG("[Importer] parseUSN.isService ...registering modified device again ");
            /*
             * I have to unregister the UPnPDevice and register it again
             * with the updated properties 
             */
            UPnPDeviceImpl device =
                          ((OSGiDeviceInfo) devices.get(udn)).getOSGiDevice();
            ServiceRegistration registar =
                          ((OSGiDeviceInfo) devices.get(udn)).getRegistration();
            String[] oldServicesID =
                          (String[]) (device.getDescriptions(null).get(UPnPService.ID));
            String[] oldServiceType =
                          (String[]) (device.getDescriptions(null).get(UPnPService.TYPE));
                     
            Device cyberDevice = findDeviceCtrl(this, udn);
            Vector vec = new Vector();
            for (int i = 0; i < oldServiceType.length; i++) {
              Service ser = cyberDevice.getService(oldServicesID[i]);
              if (!(ser.getServiceType().equals(parseUSN.getServiceType())))
                          {
                vec.add(oldServicesID[i]);
              }
            }
 
                      //new serviceID
            String[] actualServicesID = new String[vec.size()];
            actualServicesID = (String[]) vec.toArray(new String[]{});
 
                      //new serviceType
            String[] actualServiceType = new String[oldServiceType.length - 1];
            vec.clear();
            for (int i = 0; i < oldServiceType.length; i++) {
              if (!(oldServiceType[i].equals(parseUSN.getServiceType())))
                          {
                vec.add(oldServiceType[i]);
              }
            }
            actualServiceType = (String[]) vec.toArray(new String[]{});
 
                      //unrigistering and registering again with the new properties
            unregisterUPnPDevice(registar);
            device.setProperty(UPnPService.ID, actualServicesID);
            device.setProperty(UPnPService.TYPE, actualServiceType);
            registerUPnPDevice(null, device, device.getDescriptions(null));
            searchForListener(cyberDevice);
          }
        }
       
      }//synchronized(devices)
View Full Code Here

Examples of org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPDeviceImpl

     * registering the new Device as OSGi UPnPDevice and then add
     * ServiceRegistration and UPnPDevice reference to the hashtable
     * that contains local devices
     */
    if (prop == null && upnpDev == null) {
      UPnPDeviceImpl newDevice = new UPnPDeviceImpl(dev, context);
      ServiceRegistration registration =
                context.registerService(UPnPDevice.class.getName(),
                                        newDevice,
                                        newDevice.getDescriptions(null));
      OSGiDeviceInfo deviceInfo =
                new OSGiDeviceInfo(newDevice,registration);
           
            String udn = (String) ((newDevice.getDescriptions(null)).get(UPnPDevice.UDN));
      devices.put(udn, deviceInfo);
    } else {
      ServiceRegistration registration =
                context.registerService(UPnPDevice.class.getName(), upnpDev, prop);
      OSGiDeviceInfo deviceInfo =
View Full Code Here

Examples of org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPDeviceImpl

  }
   
    public void doServiceUpdating(String udn,String serviceType){
        Activator.logger.DEBUG("[Importer] check for service updating");
        OSGiDeviceInfo deviceinfo = (OSGiDeviceInfo) devices.get(udn);
        UPnPDeviceImpl device = deviceinfo.getOSGiDevice();
        boolean isSerPresent = device.existServiceType(serviceType);
        if (!isSerPresent) {
            /*
             * The serivice doesn't exist so it's new.
             * Find the udn of owner device and re-register the owner
             */
            ServiceRegistration registar =
                ((OSGiDeviceInfo) devices.remove(udn)).getRegistration();
            String[] oldServicesID =
                (String[]) device.getDescriptions(null).get(UPnPServiceImpl.ID);
            String[] oldServicesType =
                (String[]) device.getDescriptions(null).get(UPnPServiceImpl.TYPE);
           
            //to handle multiple instance of a serivice of the same type
            Device cyberDevice = findDeviceCtrl(this, udn);
            ServiceList serviceList = cyberDevice.getServiceList();
            ArrayList newServicesID = new ArrayList();

            for (int i = 0; i < serviceList.size(); i++) {
                if (serviceList.getService(i).getServiceType()
                        .equals(serviceType))
                {
                    newServicesID.add(serviceList.getService(i).getServiceID());
                }
            }
           
            //adding the new servicesID
            String[] currentServicesID =
                new String[(oldServicesID.length + newServicesID.size())];
            int endOld = 1;
            for (int i = 0; i < oldServicesID.length; i++) {
                currentServicesID[i] = oldServicesID[i];
                endOld++;
            }
            int j = 0;
            for (; endOld < currentServicesID.length; endOld++) {
                currentServicesID[endOld] = (String) newServicesID.get(j);
                j++;
            }
           
            //adding the new ServiceType
            String[] currentServicesType = new String[oldServicesType.length + 1];
            for (int i = 0; i < oldServicesType.length; i++) {
                currentServicesType[i] = oldServicesType[i];
            }
            currentServicesType[currentServicesType.length - 1] = serviceType;
           
           
            // unregistring the OSGi Device
            // and setting new properties
            unregisterUPnPDevice(registar);
            device.setProperty(UPnPService.ID, currentServicesID);
            device.setProperty(UPnPServiceImpl.TYPE,currentServicesType);
           
            //registering the service with the updated properties
            //TODO Check if null to the first paramaters is correct or it requires the reference to the cyberdomo upnp device
            registerUPnPDevice(null, device, device.getDescriptions(null));
            searchForListener(cyberDevice);
        }  
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.