Пример #1
0
        /// <summary>
        /// データベース初期化
        /// </summary>
        /// <param name="mono">呼び出し元インスタンス</param>
        public static void Init(MonoBehaviour mono, DatabaseListener listener)
        {
            DbManager db = Instance;

            db.mListener = listener;
            mono.StartCoroutine(GetNewDbVersion(DB_VERSION_FILE_NAME));
        }
 public void Start()
 {
     AlwaysOnListener.RecognizeAsync(RecognizeMode.Multiple);
     DigitsListener.RecognizeAsync(RecognizeMode.Multiple);
     LettersListener.RecognizeAsync(RecognizeMode.Multiple);
     TeamListener.RecognizeAsync(RecognizeMode.Multiple);
     DatabaseListener.RecognizeAsync(RecognizeMode.Multiple);
 }
Пример #3
0
        //MUST ENABLE THE BROKER TO GET GOING
        //ALTER DATABASE "database name" SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE ;


        public ActionResult GetData()
        {
            //by using listener method we manage a recursive ajax request
            DatabaseListener listen = new DatabaseListener();

            listen.Listener();
            //Should use the model for complex data
            IEnumerable <RssPage> list = context.RssPage.ToList();

            return(PartialView(list));
        }
Пример #4
0
        /// <summary>
        /// 最新のDBバージョン取得完了通知
        /// </summary>
        /// <param name="newDbVersion">最新のDBバージョン</param>
        private void OnGetNewDbVersion(int newDbVersion)
        {
            Debug.Log("MyDatabase start");
            // DB更新フラグ
            bool isDbUpdate = false;
            // DBバージョン更新フラグ
            bool isDbVersionUpdate = false;
            // DBバージョン
            int oldDbVersion = UserData.DatabaseVersion;
            // DB保存先パス
            string dbPath = Path.Combine(Application.persistentDataPath, DB_NAME);

            // DB更新確認
            checkDbUpdate(dbPath, oldDbVersion, newDbVersion, ref isDbUpdate, ref isDbVersionUpdate);

            if (isDbUpdate)
            {
                Debug.Log("MyDatabase create backup data");
                // DBファイルの更新が必要な場合、古いDBファイルを別名で保存する
                string backupPath = Path.Combine(Application.persistentDataPath, BACKUP_DB_NAME);
                File.Copy(dbPath, backupPath, true);
                Debug.Log(backupPath);
            }

            // DBを読み込む
            mdb = new SqliteDatabase(DB_NAME, isDbUpdate || isDbVersionUpdate);

            if (isDbUpdate)
            {
                Debug.Log("MyDatabase marge backup data");
                // 更新フラグが立っている時、古いDBから必要なデータを新しいDBに移行する
                SqliteDatabase backupDb = new SqliteDatabase(BACKUP_DB_NAME, false);
                // 各テーブルごとにマージ処理を行なう
                MargeData(backupDb);
            }

            if (isDbVersionUpdate)
            {
                Debug.Log("MyDatabase update db version " + oldDbVersion + " > " + newDbVersion);
                // DBバージョンを更新する
                UserData.DatabaseVersion = newDbVersion;
                UserData.Save();
            }
            Debug.Log("MyDatabase end");

            // 初期化完了通知
            mListener.OnDatabaseInit();
            mListener = null;
        }
        public SpeechActivator()
        {
            DatabaseListener.LoadGrammar(new Grammar(new GrammarBuilder(DatabaseListenerChoices)));
            DatabaseListener.SpeechRecognized += (s, e) =>
            {
                if (e.Result.Confidence < 0.70)
                {
                    return;
                }
                OnRecognisedDatabase?.Invoke(this, new DatabaseSpeechCommandEventArgs(e.Result.Text));
            };
            DatabaseListener.SetInputToDefaultAudioStream();

            TeamListener.LoadGrammar(new Grammar(new GrammarBuilder(TeamListenerChoices)));
            TeamListener.SpeechRecognized += (s, e) =>
            {
                if (e.Result.Confidence < 0.70)
                {
                    return;
                }
                OnRecognisedTeam?.Invoke(this, new TeamSpeechCommandEventArgs(e.Result.Text));
            };
            TeamListener.SetInputToDefaultAudioStream();

            for (var i = 'а'; i <= 'я'; i++)
            {
                LettersListenerChoices.Add(i.ToString());
            }
            var gb0 = new GrammarBuilder(LettersListenerChoices);

            LettersListener.LoadGrammar(new Grammar(gb0));
            LettersListener.SpeechRecognized += (s, e) =>
            {
                if (e.Result.Confidence < 0.70)
                {
                    return;
                }
                OnRecognisedLetter?.Invoke(this, new LetterSpeechCommandEventArgs(e.Result.Text[0]));
            };
            LettersListener.SetInputToDefaultAudioStream();

            for (var i = 0; i <= 9; i++)
            {
                DigitsListenerChoices.Add(i.ToString());
            }
            var gb1 = new GrammarBuilder(DigitsListenerChoices);

            DigitsListener.LoadGrammar(new Grammar(gb1));
            DigitsListener.SpeechRecognized += (s, e) =>
            {
                if (e.Result.Confidence < 0.70)
                {
                    return;
                }
                OnRecognisedDigit?.Invoke(this, new DigitsSpeechCommandEventArgs(int.Parse(e.Result.Text)));
            };
            DigitsListener.SetInputToDefaultAudioStream();

            var gb2 = new GrammarBuilder {
                Culture = Russian
            };

            gb2.Append(AlwaysOnListenerChoices);
            AlwaysOnListener.LoadGrammar(new Grammar(gb2));
            AlwaysOnListener.SpeechRecognized += (s, e) =>
            {
                if (e.Result.Confidence < 0.70)
                {
                    return;
                }
                switch (e.Result.Text)
                {
                case "айбанк карты":
                    OnRecognisedMain?.Invoke(this, new MainSpeechCommandEventArgs(MainSpeechCommands.Card));
                    break;

                case "айбанк команды":
                    OnRecognisedMain?.Invoke(this, new MainSpeechCommandEventArgs(MainSpeechCommands.Team));
                    break;

                case "айбанк бд":
                case "айбанк база":
                case "айбанк база данных":
                    OnRecognisedMain?.Invoke(this, new MainSpeechCommandEventArgs(MainSpeechCommands.Database));
                    break;
                }
            };
            AlwaysOnListener.SetInputToDefaultAudioStream();
        }
 public DatabaseController(string path)
 {
     _path             = path;
     _databaseListener = new DatabaseListener();
     _databaseManager  = new DatabaseManager(path);
 }