Examples of UPnPEventListener


Examples of org.osgi.service.upnp.UPnPEventListener

      this.events = events;
    }
   
    public void run(){
      try {
        UPnPEventListener listener = (UPnPEventListener) context.getService(sr);
        listener.notifyUPnPEvent(deviceId,serviceId,events);
        context.ungetService(sr);
      } catch (Exception ignored){
      }
    }
View Full Code Here

Examples of org.osgi.service.upnp.UPnPEventListener

                boolean hasEventedVars = false;
                for (int k = 0; k < stateVars.length && ! hasEventedVars; k++) {
                  hasEventedVars = stateVars[k].sendsEvents();
                  if (hasEventedVars) {
                    if(filter.match(dic)){
                      UPnPEventListener listener =
                                            (UPnPEventListener) context.getService(serRef);
                      FirstMessage msg = new FirstMessage(
                          ((UPnPServiceImpl) services[j]).getCyberService(),
                          listener);
                      subQueue.enqueue(msg);                     
                    }
                  }
                }
              }
            }
                        context.ungetService(devicesRefs[i]);
          }
        }
      } else {/* obj==null (interested in all devices) */
        try {
          String newfilter = "(!" + EXPORT_FLTR+ ")";
          devicesRefs = context.getServiceReferences(UPnPDevice.class.getName(), newfilter);
        } catch (InvalidSyntaxException e) {
          e.printStackTrace();
        }
        if (devicesRefs != null) {/*
                       *
                       * only if there is a device
                       */

          for (int i = 0; i < devicesRefs.length; i++) {
            UPnPDevice device = (UPnPDevice) context
                .getService(devicesRefs[i]);
            UPnPService[] services = device.getServices();
            if (services != null) {
              for (int j = 0; j < services.length; j++) {
                UPnPStateVariable[] stateVars = services[j]
                    .getStateVariables();
                boolean bool = false;               
                for (int k = 0; k < stateVars.length; k++) {
                  bool = stateVars[k].sendsEvents();
                  if (bool) {
                    break;
                  }
                }
                if (bool) {
                  UPnPEventListener listener =
                                        (UPnPEventListener) context.getService(serRef);
                  FirstMessage msg = new FirstMessage(
                      ((UPnPServiceImpl) services[j]).getCyberService(),
                      listener);
                  subQueue.enqueue(msg);
                }
              }
            }
                        context.ungetService(devicesRefs[i]);
          }
        }
      }

    } else if (event.getType() == ServiceEvent.MODIFIED) {
      Vector newServices = new Vector();
      ServiceReference serRef = event.getServiceReference();
      Filter filter = (Filter) serRef.getProperty(UPnPEventListener.UPNP_FILTER);
      UPnPEventListener listener = (UPnPEventListener) context.getService(serRef);
      ServiceReference[] devicesRefs = null;

      if (filter != null) {
        try {
          String filtra = filter.toString();
                    String newfilter = "(&" + filtra + "(!" + EXPORT_FLTR + ")" + ")";
          devicesRefs = context.getServiceReferences(UPnPDevice.class.getName(), newfilter);
        } catch (InvalidSyntaxException e) {
          e.printStackTrace();
        }
        if (devicesRefs != null) {/*
                       *
                       * only if there is a compatibile device
                       */
          Dictionary dic = new Hashtable();
          /*
           * look for the service that match
           */
          for (int i = 0; i < devicesRefs.length; i++) {
            UPnPDevice device = (UPnPDevice) context
                .getService(devicesRefs[i]);
            dic.put(UPnPDevice.ID, device.getDescriptions(null)
                .get(UPnPDevice.UDN));
            dic.put(UPnPDevice.TYPE, device.getDescriptions(null)
                .get(UPnPDevice.TYPE));
            UPnPService[] services = device.getServices();

            if (services != null) {
              for (int j = 0; j < services.length; j++) {
                dic.put(UPnPService.ID, services[j].getId());
                dic.put(UPnPService.TYPE, services[j].getType());

                UPnPStateVariable[] stateVars = services[j]
                    .getStateVariables();
                boolean hasEventedVars = false;
                for (int k = 0; k < stateVars.length; k++) {
                  hasEventedVars = stateVars[k].sendsEvents();
                  if (hasEventedVars) {
                    break;
                  }
                }
                if (!hasEventedVars) {
                  continue;
                }

                boolean bool = filter.match(dic);
                if (bool) {
                  newServices
                      .add(((UPnPServiceImpl) services[j])
                          .getCyberService());
                }
              }//for services
            }//services ==null
            context.ungetService(devicesRefs[i]);
          }//for devicesRefs
          ListenerModified msg = new ListenerModified(newServices,
              listener);
          subQueue.enqueue(msg);
        }//devicesrefs !=null
      } else {//interrested in all devices
        try {

          String newfilter = "(!(" + UPnPDevice.UPNP_EXPORT + "=*"
              + ")" + ")";
          devicesRefs = context.getServiceReferences(UPnPDevice.class
              .getName(), newfilter);
        } catch (InvalidSyntaxException e) {
          e.printStackTrace();
        }
        if (devicesRefs != null) {/*
                       * only if there is a device
                       */

          for (int i = 0; i < devicesRefs.length; i++) {
            UPnPDevice device = (UPnPDevice) context
                .getService(devicesRefs[i]);
            UPnPService[] services = device.getServices();
            if (services != null) {
              for (int j = 0; j < services.length; j++) {
                UPnPStateVariable[] stateVars = services[j]
                    .getStateVariables();
                boolean hasEventedVars = false;
                for (int k = 0; k < stateVars.length; k++) {
                  hasEventedVars = stateVars[k].sendsEvents();
                  if (hasEventedVars) {
                    break;
                  }
                }
                if (hasEventedVars) {
                  newServices
                      .add(((UPnPServiceImpl) services[j])
                          .getCyberService());
                }//hasEventedvars
              }//for services
            }//services !=null
                        context.ungetService(devicesRefs[i]);
          }//for devicesRefs
          subQueue
              .enqueue(new ListenerModified(newServices, listener));
        }//devicesRefs !=null

      }

    } else if (event.getType() == ServiceEvent.UNREGISTERING) {
      UPnPEventListener listener = (UPnPEventListener) context
          .getService(event.getServiceReference());
      if (listener != null) {
        ListenerUnRegistration msg = new ListenerUnRegistration(
            listener);
        subQueue.enqueue(msg);
View Full Code Here

Examples of org.osgi.service.upnp.UPnPEventListener

          }
        }
      }

      for (int i = 0; i < listeners.length; i++) {
        UPnPEventListener listener = (UPnPEventListener) context
            .getService(listeners[i]);
        Filter filter = (Filter) listeners[i]
            .getProperty(UPnPEventListener.UPNP_FILTER);
        if (filter == null) {
          for (int j = 0; j < eventedSers.size(); j++) {
View Full Code Here

Examples of org.osgi.service.upnp.UPnPEventListener

    }
  }

  public synchronized void updateListener(ListenerModified msg,
      SubscriptionQueue subqueue, MyCtrlPoint ctrl/*##renew, SidRenewer sidRenewer*/) {
    UPnPEventListener listener = msg.getListener();
    Vector newServices = msg.getNewServices();
    Vector subscribed = new Vector();
    Vector notSubscribed = new Vector();
   
    for (int i = 0; i < newServices.size(); i++) {
View Full Code Here

Examples of org.osgi.service.upnp.UPnPEventListener

                boolean hasEventedVars = false;
                for (int k = 0; k < stateVars.length && ! hasEventedVars; k++) {
                  hasEventedVars = stateVars[k].sendsEvents();
                  if (hasEventedVars) {
                    if(filter.match(dic)){
                      UPnPEventListener listener =
                                            (UPnPEventListener) context.getService(serRef);
                      FirstMessage msg = new FirstMessage(
                          ((UPnPServiceImpl) services[j]).getCyberService(),
                          listener);
                      subQueue.enqueue(msg);                     
                    }
                  }
                }
              }
            }
                        context.ungetService(devicesRefs[i]);
          }
        }
      } else {/* obj==null (interested in all devices) */
        try {
          String newfilter = "(!" + EXPORT_FLTR+ ")";
          devicesRefs = context.getServiceReferences(UPnPDevice.class.getName(), newfilter);
        } catch (InvalidSyntaxException e) {
          e.printStackTrace();
        }
        if (devicesRefs != null) {/*
                       *
                       * only if there is a device
                       */

          for (int i = 0; i < devicesRefs.length; i++) {
            UPnPDevice device = (UPnPDevice) context
                .getService(devicesRefs[i]);
            UPnPService[] services = device.getServices();
            if (services != null) {
              for (int j = 0; j < services.length; j++) {
                UPnPStateVariable[] stateVars = services[j]
                    .getStateVariables();
                boolean bool = false;               
                for (int k = 0; k < stateVars.length; k++) {
                  bool = stateVars[k].sendsEvents();
                  if (bool) {
                    break;
                  }
                }
                if (bool) {
                  UPnPEventListener listener =
                                        (UPnPEventListener) context.getService(serRef);
                  FirstMessage msg = new FirstMessage(
                      ((UPnPServiceImpl) services[j]).getCyberService(),
                      listener);
                  subQueue.enqueue(msg);
                }
              }
            }
                        context.ungetService(devicesRefs[i]);
          }
        }
      }

    } else if (event.getType() == ServiceEvent.MODIFIED) {
      Vector newServices = new Vector();
      ServiceReference serRef = event.getServiceReference();
      Filter filter = (Filter) serRef.getProperty(UPnPEventListener.UPNP_FILTER);
      UPnPEventListener listener = (UPnPEventListener) context.getService(serRef);
      ServiceReference[] devicesRefs = null;

      if (filter != null) {
        try {
          String filtra = filter.toString();
                    String newfilter = "(&" + filtra + "(!" + EXPORT_FLTR + ")" + ")";
          devicesRefs = context.getServiceReferences(UPnPDevice.class.getName(), newfilter);
        } catch (InvalidSyntaxException e) {
          e.printStackTrace();
        }
        if (devicesRefs != null) {/*
                       *
                       * only if there is a compatibile device
                       */
          Dictionary dic = new Hashtable();
          /*
           * look for the service that match
           */
          for (int i = 0; i < devicesRefs.length; i++) {
            UPnPDevice device = (UPnPDevice) context
                .getService(devicesRefs[i]);
            dic.put(UPnPDevice.ID, device.getDescriptions(null)
                .get(UPnPDevice.UDN));
            dic.put(UPnPDevice.TYPE, device.getDescriptions(null)
                .get(UPnPDevice.TYPE));
            UPnPService[] services = device.getServices();

            if (services != null) {
              for (int j = 0; j < services.length; j++) {
                dic.put(UPnPService.ID, services[j].getId());
                dic.put(UPnPService.TYPE, services[j].getType());

                UPnPStateVariable[] stateVars = services[j]
                    .getStateVariables();
                boolean hasEventedVars = false;
                for (int k = 0; k < stateVars.length; k++) {
                  hasEventedVars = stateVars[k].sendsEvents();
                  if (hasEventedVars) {
                    break;
                  }
                }
                if (!hasEventedVars) {
                  continue;
                }

                boolean bool = filter.match(dic);
                if (bool) {
                  newServices
                      .add(((UPnPServiceImpl) services[j])
                          .getCyberService());
                }
              }//for services
            }//services ==null
            context.ungetService(devicesRefs[i]);
          }//for devicesRefs
          ListenerModified msg = new ListenerModified(newServices,
              listener);
          subQueue.enqueue(msg);
        }//devicesrefs !=null
      } else {//interrested in all devices
        try {

          String newfilter = "(!(" + UPnPDevice.UPNP_EXPORT + "=*"
              + ")" + ")";
          devicesRefs = context.getServiceReferences(UPnPDevice.class
              .getName(), newfilter);
        } catch (InvalidSyntaxException e) {
          e.printStackTrace();
        }
        if (devicesRefs != null) {/*
                       * only if there is a device
                       */

          for (int i = 0; i < devicesRefs.length; i++) {
            UPnPDevice device = (UPnPDevice) context
                .getService(devicesRefs[i]);
            UPnPService[] services = device.getServices();
            if (services != null) {
              for (int j = 0; j < services.length; j++) {
                UPnPStateVariable[] stateVars = services[j]
                    .getStateVariables();
                boolean hasEventedVars = false;
                for (int k = 0; k < stateVars.length; k++) {
                  hasEventedVars = stateVars[k].sendsEvents();
                  if (hasEventedVars) {
                    break;
                  }
                }
                if (hasEventedVars) {
                  newServices
                      .add(((UPnPServiceImpl) services[j])
                          .getCyberService());
                }//hasEventedvars
              }//for services
            }//services !=null
                        context.ungetService(devicesRefs[i]);
          }//for devicesRefs
          subQueue
              .enqueue(new ListenerModified(newServices, listener));
        }//devicesRefs !=null

      }

    } else if (event.getType() == ServiceEvent.UNREGISTERING) {
      UPnPEventListener listener = (UPnPEventListener) context
          .getService(event.getServiceReference());
      if (listener != null) {
        ListenerUnRegistration msg = new ListenerUnRegistration(
            listener);
        subQueue.enqueue(msg);
View Full Code Here

Examples of org.osgi.service.upnp.UPnPEventListener

          }
        }
      }

      for (int i = 0; i < listeners.length; i++) {
        UPnPEventListener listener = (UPnPEventListener) context
            .getService(listeners[i]);
        Filter filter = (Filter) listeners[i]
            .getProperty(UPnPEventListener.UPNP_FILTER);
        if (filter == null) {
          for (int j = 0; j < eventedSers.size(); j++) {
View Full Code Here

Examples of org.osgi.service.upnp.UPnPEventListener

  public boolean updateListeners(String sid, String deviceID,String serviceID, Dictionary dictionary) {
       
    Vector listeners = (Vector) sidListener.get(sid);
    if (listeners != null) {
      for (int i = 0; i < listeners.size(); i++) {
        UPnPEventListener listener = (UPnPEventListener) listeners.elementAt(i);
        listener.notifyUPnPEvent(deviceID, serviceID, dictionary);
      }
      return true;
    }
    return false;
  }
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.