2 * Copyright (c) 2020 Project CHIP Authors
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 package com.google.chip.chiptool.commissioner.thread.internal;
21 import androidx.annotation.NonNull;
22 import androidx.lifecycle.LiveData;
23 import androidx.room.Dao;
24 import androidx.room.Insert;
25 import androidx.room.OnConflictStrategy;
26 import androidx.room.Query;
27 import java.util.List;
30 interface BorderAgentDao {
32 @Query("SELECT * FROM border_agent_table ORDER BY network_name ASC")
33 LiveData<List<BorderAgentRecord>> getAll();
35 @Query("SELECT * FROM border_agent_table WHERE discriminator=:discriminator LIMIT 1")
36 BorderAgentRecord getBorderAgent(@NonNull String discriminator);
39 "SELECT * FROM border_agent_table WHERE network_name=:networkName AND extended_pan_id=:extendedPanId")
40 List<BorderAgentRecord> getBorderAgents(
41 @NonNull String networkName, @NonNull byte[] extendedPanId);
43 @Insert(onConflict = OnConflictStrategy.IGNORE)
44 void insert(BorderAgentRecord borderAgentRecord);
46 @Query("DELETE FROM border_agent_table WHERE discriminator=:discriminator")
47 void delete(@NonNull String discriminator);
49 @Query("DELETE FROM border_agent_table")