001package gu.dtalk;
002
003/**
004 * 设备信息访问接口<br>
005 * SDK初始化时以SPI(Service Provider Interface)机制加载应用层提供的
006 * {@link DeviceInfoProvider}实例,并通过接口实例获取设备信息<br>
007 * 
008 * @author guyadong
009 *
010 */
011public interface DeviceInfoProvider {
012        /**
013         * 应用层通过此方法向底层提供管理密码
014         * @return 返回管理密码,不可为空或{@code null}
015         */
016        String getPassword();
017        /**
018         * 保存在管理密码.<br>
019         * 应用层通过此方法保存底层传回的管理密码
020         * @param password
021         */
022        void savePassword(String password);
023        
024        /**
025         * 返回当前使用的网卡mac地址,不可为空或{@code null}
026         * @return
027         */
028        byte[] getMac();
029        /**
030         * 返回当前使用的IP地址,不可为空或{@code null}
031         * @return
032         */
033        byte[] getIp();
034}