Skip to content

tim-weis/band-windowsruntime-bindings

 
 

Repository files navigation

#Windows Runtime Bindings for the Microsoft Band SDK

Provides Windows Runtime bindings for the Microsoft Band SDK, enabling use of the SDK from native (i.e. C++) Universal Windows 10 applications.

##Installation

Within a Windows 10 Universal C++ project, install the bindings via NuGet (e.g. using the NuGet Package Manager).

> Install-Package Microsoft.Band.WindowsRuntime

##Use

The bindings are contained within the Microsoft::Band::WindowsRuntime namespace.

Enumerate Bands paired to the device using GetBandsAsync() methods on the static BandClientManager instance. Connect to a Band using the ConnectAsync() method.

using namespace concurrency;
using namespace Microsoft::Band::WindowsRuntime;

auto bandsOperation = BandClientManager::Instance->GetBandsAsync();
auto bandsTask = create_task(bandsOperation);

bandsTask.then([this](IIterable<IBandInfo^>^ bands)
{
    auto bandsIterator = bands->First();

    if (bandsIterator->HasCurrent)
    {
        auto band = bandsIterator->Current;

        auto clientOperation = BandClientManager::Instance->ConnectAsync(band);
        auto clientTask = create_task(clientOperation);

        clientTask.then([this](IBandClient^ client) 
        {
            auto firmwareVersionOperation = client->GetFirmwareVersionAsync();
            auto firmwareVersionTask = create_task(firmwareVersionOperation);

            firmwareVersionTask.then([this](String^ firmwareVersion)
            {
                // Display the firmware version to the user.
                
                // Dispose of the client (client->Dispose()) when done.
            });
        });
    }
});

##License

This project is bound by the MIT license. Use of the Microsoft Band SDK is bound by its own license.

About

Windows Runtime bindings for the Microsoft Band SDK.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 90.2%
  • C++ 8.9%
  • Other 0.9%