Пример #1
0
            //----
            internal void SdkInit()
            {
                bool init = _api.Btsdk_IsSDKInitialized();
                bool conn = _api.Btsdk_IsServerConnected(); // Ok to call if '!init'?

                if (init && conn)
                {
                    return;
                }
                BtSdkError ret = _api.Btsdk_Init();

                //Debug.WriteLine("BlueSoleil Btsdk_Init: " + BluesoleilUtils.BtSdkErrorToString(ret));
                BluesoleilUtils.CheckAndThrow(ret, "Btsdk_Init");
#if DEBUG
                // When Radio is Off, Init succeeds when called but IsSDKInitialized
                // still returns false!  That persists until the radio's turned on.
                bool initAfter = _api.Btsdk_IsSDKInitialized();
                bool connAfter = _api.Btsdk_IsServerConnected(); // Ok to call if '!init'?
                if (!initAfter || !connAfter)
                {
                    bool ready = _api.Btsdk_IsBluetoothReady();
                    Debug.Assert(!ready, "Not init&&conn, but NOT ready...");
                    Debug.Assert(!init, "Not init&&conn, but NOT !init...");
                    Debug.Assert(conn, "Not init&&conn, but NOT conn...");
                }
#endif
                _needsDispose = true;
            }
Пример #2
0
 internal BluesoleilFactory(IBluesoleilApi api)
 {
     if (api == null)
     {
         throw new ArgumentNullException("api");
     }
     _api     = api;
     _records = new Records(api);
     Debug.Assert(!api.Btsdk_IsSDKInitialized(), "IsSDKInitialized unexectedly true!");
     SdkInit();
     if (!Api.Btsdk_IsBluetoothHardwareExisted())
     {
         throw new PlatformNotSupportedException("BlueSoleil Bluetooth stack not supported (HardwareExisted).");
     }
     _inquiryHandler = new BluesoleilInquiry(this);
     _sec            = new BluesoleilSecurity(this);
     GetAllRadios();
 }