示例#1
0
 public void RegisterAdvertisement(MainAdvertisement advertisement)
 {
     if (advertisements.Count < MAX_ADVERTISEMENTS)
     {
         LEAdvertisingManager1 advertisingManager = systemBus.GetObject <LEAdvertisingManager1>(Service, GetAdapterPath());
         advertisingManager.RegisterAdvertisement(advertisement.GetPath(), new Dictionary <string, object>());
         advertisements.Add(advertisement);
         Console.WriteLine("[INFO] Register Advertisement successful");
     }
 }
示例#2
0
        public void UnregisterAllAdvertisements()
        {
            LEAdvertisingManager1 advertisingManager = systemBus.GetObject <LEAdvertisingManager1>(Service, GetAdapterPath());

            foreach (Advertisement advertisement in advertisements)
            {
                advertisingManager.UnregisterAdvertisement(advertisement.GetPath());
            }

            advertisements.Clear();
        }
示例#3
0
        public void Run()
        {
            try
            {
                busConnection.Startup();
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e);
                return;
            }

            GattManager1 gattManager = null;

            try
            {
                System.Console.WriteLine("Fetching objects");
                // Find adapter
                adapterFoundPath = FindAdapter();

                if (adapterFoundPath == null)
                {
                    System.Console.WriteLine("Couldn't find adapter that supports LE");
                    return;
                }

                gattManager          = GetObject <GattManager1>(SERVICE, adapterFoundPath);
                advertisementManager = GetObject <LEAdvertisingManager1>(SERVICE, adapterFoundPath);

                // Start advertising
                StartAdvertising();

                // Start application
                StartApplication(gattManager);

                busConnection.Wait();
            }
            catch (Exception exception)
            {
                System.Console.WriteLine(exception);
            }
            finally
            {
                if (gattManager != null)
                {
                    gattManager.UnregisterApplication(applicationPath);
                }

                StopAdvertising();
            }
        }
示例#4
0
        public void UnregisterAdvertisement(int index)
        {
            LEAdvertisingManager1 advertisingManager = systemBus.GetObject <LEAdvertisingManager1>(Service, GetAdapterPath());

            advertisingManager.UnregisterAdvertisement(advertisements[index].GetPath());
        }