From e944576731e4ead2756fd5da1f953267590fe03d Mon Sep 17 00:00:00 2001 From: wangsen1994 Date: Fri, 16 May 2025 09:14:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=9C=BA=E6=99=AF=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangsen1994 --- bundle.json | 3 +- notification.gni | 1 + .../notification_subscriber_manager_test.cpp | 5 +- services/distributed/BUILD.gn | 12 +-- .../{soft_bus => base}/distributed_client.h | 0 .../distributed_device_data.h | 0 ...liveview_all_scenarios_extension_wrapper.h | 0 .../distributed_local_config.h | 0 .../{soft_bus => base}/distributed_server.h | 0 .../{soft_bus => base}/distributed_socket.h | 0 .../include/soft_bus/distributed_manager.h | 45 ---------- .../{soft_bus => base}/distributed_client.cpp | 0 ...veview_all_scenarios_extension_wrapper.cpp | 0 .../distributed_local_config.cpp | 0 .../{soft_bus => base}/distributed_server.cpp | 0 .../{soft_bus => base}/distributed_socket.cpp | 0 .../distributed_extern_intferface.cpp | 34 ++++--- .../src/soft_bus/distributed_manager.cpp | 89 ------------------- services/distributed/test/unittest/BUILD.gn | 22 ++--- 19 files changed, 47 insertions(+), 164 deletions(-) rename services/distributed/include/{soft_bus => base}/distributed_client.h (100%) rename services/distributed/include/{soft_bus => base}/distributed_device_data.h (100%) rename services/distributed/include/{soft_bus => base}/distributed_liveview_all_scenarios_extension_wrapper.h (100%) rename services/distributed/include/{soft_bus => base}/distributed_local_config.h (100%) rename services/distributed/include/{soft_bus => base}/distributed_server.h (100%) rename services/distributed/include/{soft_bus => base}/distributed_socket.h (100%) delete mode 100644 services/distributed/include/soft_bus/distributed_manager.h rename services/distributed/src/{soft_bus => base}/distributed_client.cpp (100%) rename services/distributed/src/{soft_bus => base}/distributed_liveview_all_scenarios_extension_wrapper.cpp (100%) rename services/distributed/src/{soft_bus => base}/distributed_local_config.cpp (100%) rename services/distributed/src/{soft_bus => base}/distributed_server.cpp (100%) rename services/distributed/src/{soft_bus => base}/distributed_socket.cpp (100%) delete mode 100644 services/distributed/src/soft_bus/distributed_manager.cpp diff --git a/bundle.json b/bundle.json index 9d41c2c36..dd2c67aa7 100644 --- a/bundle.json +++ b/bundle.json @@ -55,7 +55,8 @@ "distributed_notification_service_feature_disturb_manager", "distributed_notification_service_feature_slot_manager", "distributed_notification_service_feature_additional_config", - "distributed_notification_service_feature_open_notification_settings" + "distributed_notification_service_feature_open_notification_settings", + "distributed_notification_service_feature_distributed_master" ], "adapted_system_type": [ "standard" diff --git a/notification.gni b/notification.gni index e674afe07..813f3e158 100644 --- a/notification.gni +++ b/notification.gni @@ -67,6 +67,7 @@ declare_args() { distributed_notification_service_feature_slot_manager = true distributed_notification_service_feature_additional_config = true distributed_notification_service_feature_open_notification_settings = true + distributed_notification_service_feature_distributed_master = true distributed_notification_service_disable_control = false notification_smart_reminder_supported = true ans_config_policy_enable = true diff --git a/services/ans/test/unittest/notification_subscriber_manager_test.cpp b/services/ans/test/unittest/notification_subscriber_manager_test.cpp index 06c5b57f8..d8b077435 100644 --- a/services/ans/test/unittest/notification_subscriber_manager_test.cpp +++ b/services/ans/test/unittest/notification_subscriber_manager_test.cpp @@ -547,8 +547,7 @@ HWTEST_F(NotificationSubscriberManagerTest, ConsumeRecordFilter_001, Function | { std::shared_ptr actionButton = std::make_shared(); - std::shared_ptr userInput = - std::make_shared(); + std::shared_ptr userInput = NotificationUserInput::Create("userInput"); actionButton->AddNotificationUserInput(userInput); sptr request(new NotificationRequest()); @@ -576,7 +575,7 @@ HWTEST_F(NotificationSubscriberManagerTest, ConsumeRecordFilter_001, Function | HWTEST_F(NotificationSubscriberManagerTest, ConsumeRecordFilter_002, Function | SmallTest | Level1) { std::shared_ptr actionButton = std::make_shared(); - std::shared_ptr userInput = std::make_shared(); + std::shared_ptr userInput = NotificationUserInput::Create("userInput"); actionButton->AddNotificationUserInput(userInput); sptr request(new NotificationRequest()); diff --git a/services/distributed/BUILD.gn b/services/distributed/BUILD.gn index c28f77a99..ad446f0cb 100644 --- a/services/distributed/BUILD.gn +++ b/services/distributed/BUILD.gn @@ -96,25 +96,24 @@ ohos_shared_library("libdans") { ] sources = [ + "src/base/distributed_client.cpp", + "src/base/distributed_liveview_all_scenarios_extension_wrapper.cpp", + "src/base/distributed_local_config.cpp", + "src/base/distributed_server.cpp", + "src/base/distributed_socket.cpp", "src/helper/ability_manager_helper.cpp", "src/helper/analytics_util.cpp", "src/helper/bundle_resource_helper.cpp", "src/helper/distributed_operation_connection.cpp", "src/helper/distributed_preference.cpp", "src/helper/distributed_rdb_helper.cpp", - "src/soft_bus/distributed_client.cpp", "src/soft_bus/distributed_cmd_service.cpp", "src/soft_bus/distributed_extern_intferface.cpp", - "src/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.cpp", - "src/soft_bus/distributed_local_config.cpp", - "src/soft_bus/distributed_manager.cpp", "src/soft_bus/distributed_observer_service.cpp", "src/soft_bus/distributed_operation_service.cpp", "src/soft_bus/distributed_publish_service.cpp", - "src/soft_bus/distributed_server.cpp", "src/soft_bus/distributed_service.cpp", "src/soft_bus/distributed_service_uitls.cpp", - "src/soft_bus/distributed_socket.cpp", "src/soft_bus/distributed_subscribe_service.cpp", "src/soft_bus/distributed_subscriber.cpp", "src/tlv_box/batch_remove_box.cpp", @@ -130,6 +129,7 @@ ohos_shared_library("libdans") { ] include_dirs = [ + "${services_path}/distributed/include/base", "${services_path}/distributed/include/helper", "${services_path}/distributed/include/soft_bus", "${services_path}/distributed/include/tlv_box", diff --git a/services/distributed/include/soft_bus/distributed_client.h b/services/distributed/include/base/distributed_client.h similarity index 100% rename from services/distributed/include/soft_bus/distributed_client.h rename to services/distributed/include/base/distributed_client.h diff --git a/services/distributed/include/soft_bus/distributed_device_data.h b/services/distributed/include/base/distributed_device_data.h similarity index 100% rename from services/distributed/include/soft_bus/distributed_device_data.h rename to services/distributed/include/base/distributed_device_data.h diff --git a/services/distributed/include/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.h b/services/distributed/include/base/distributed_liveview_all_scenarios_extension_wrapper.h similarity index 100% rename from services/distributed/include/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.h rename to services/distributed/include/base/distributed_liveview_all_scenarios_extension_wrapper.h diff --git a/services/distributed/include/soft_bus/distributed_local_config.h b/services/distributed/include/base/distributed_local_config.h similarity index 100% rename from services/distributed/include/soft_bus/distributed_local_config.h rename to services/distributed/include/base/distributed_local_config.h diff --git a/services/distributed/include/soft_bus/distributed_server.h b/services/distributed/include/base/distributed_server.h similarity index 100% rename from services/distributed/include/soft_bus/distributed_server.h rename to services/distributed/include/base/distributed_server.h diff --git a/services/distributed/include/soft_bus/distributed_socket.h b/services/distributed/include/base/distributed_socket.h similarity index 100% rename from services/distributed/include/soft_bus/distributed_socket.h rename to services/distributed/include/base/distributed_socket.h diff --git a/services/distributed/include/soft_bus/distributed_manager.h b/services/distributed/include/soft_bus/distributed_manager.h deleted file mode 100644 index 0b36d78b3..000000000 --- a/services/distributed/include/soft_bus/distributed_manager.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2024 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_MANAGER_H -#define BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_MANAGER_H - -#include "distributed_device_data.h" - -#include -#include -#include "distributed_data_define.h" - -namespace OHOS { -namespace Notification { -class DistributedManager { -public: - DistributedManager(); - ~DistributedManager() = default; - static DistributedManager& GetInstance(); - void ReleaseLocalDevice(); - int32_t InitLocalDevice(const std::string &deviceId, uint16_t deviceType, DistributedDeviceConfig config); - void AddDevice(const std::string &deviceId, uint16_t deviceType, - const std::string &networkId); - void ReleaseDevice(const std::string &deviceId, uint16_t deviceType); - void RefreshDevice(const std::string &deviceId, uint16_t deviceType, - const std::string &networkId); - void InitHACallBack(std::function callback); - void InitSendReportCallBack(std::function callback); -}; -} -} - -#endif // BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_MANAGER_H diff --git a/services/distributed/src/soft_bus/distributed_client.cpp b/services/distributed/src/base/distributed_client.cpp similarity index 100% rename from services/distributed/src/soft_bus/distributed_client.cpp rename to services/distributed/src/base/distributed_client.cpp diff --git a/services/distributed/src/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.cpp b/services/distributed/src/base/distributed_liveview_all_scenarios_extension_wrapper.cpp similarity index 100% rename from services/distributed/src/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.cpp rename to services/distributed/src/base/distributed_liveview_all_scenarios_extension_wrapper.cpp diff --git a/services/distributed/src/soft_bus/distributed_local_config.cpp b/services/distributed/src/base/distributed_local_config.cpp similarity index 100% rename from services/distributed/src/soft_bus/distributed_local_config.cpp rename to services/distributed/src/base/distributed_local_config.cpp diff --git a/services/distributed/src/soft_bus/distributed_server.cpp b/services/distributed/src/base/distributed_server.cpp similarity index 100% rename from services/distributed/src/soft_bus/distributed_server.cpp rename to services/distributed/src/base/distributed_server.cpp diff --git a/services/distributed/src/soft_bus/distributed_socket.cpp b/services/distributed/src/base/distributed_socket.cpp similarity index 100% rename from services/distributed/src/soft_bus/distributed_socket.cpp rename to services/distributed/src/base/distributed_socket.cpp diff --git a/services/distributed/src/soft_bus/distributed_extern_intferface.cpp b/services/distributed/src/soft_bus/distributed_extern_intferface.cpp index f547134f9..a942d4573 100644 --- a/services/distributed/src/soft_bus/distributed_extern_intferface.cpp +++ b/services/distributed/src/soft_bus/distributed_extern_intferface.cpp @@ -12,13 +12,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include "distributed_manager.h" - #include #include -#include #include +#include "distributed_server.h" +#include "distributed_client.h" +#include "distributed_service.h" +#include "distributed_local_config.h" +#include "ans_log_wrapper.h" +#include "analytics_util.h" + #define SYMBOL_EXPORT __attribute__ ((visibility("default"))) namespace OHOS { namespace Notification { @@ -29,41 +33,51 @@ extern "C" { SYMBOL_EXPORT int32_t InitLocalDevice(const std::string &deviceId, uint16_t deviceType, DistributedDeviceConfig config) { - return DistributedManager::GetInstance().InitLocalDevice(deviceId, deviceType, config); + ANS_LOGI("InitLocalDevice %{public}s %{public}d.", StringAnonymous(deviceId).c_str(), (int32_t)(deviceType)); + DistributedLocalConfig::GetInstance().SetLocalDevice(config); + return DistributedService::GetInstance().InitService(deviceId, deviceType); } SYMBOL_EXPORT void AddDevice(const std::string &deviceId, uint16_t deviceType, const std::string &networkId) { - DistributedManager::GetInstance().AddDevice(deviceId, deviceType, networkId); + ANS_LOGI("InitLocalDevice %{public}s %{public}d %{public}s.", StringAnonymous(deviceId).c_str(), + (int32_t)(deviceType), StringAnonymous(networkId).c_str()); + DistributedDeviceInfo peerDevice = DistributedDeviceInfo(deviceType, deviceId, networkId); + DistributedClient::GetInstance().AddDevice(peerDevice); + DistributedService::GetInstance().AddDevice(peerDevice); } SYMBOL_EXPORT void ReleaseDevice(const std::string &deviceId, uint16_t deviceType) { - DistributedManager::GetInstance().ReleaseDevice(deviceId, deviceType); + ANS_LOGI("ReleaseDevice %{public}s %{public}d.", StringAnonymous(deviceId).c_str(), (int32_t)(deviceType)); + DistributedClient::GetInstance().ReleaseDevice(deviceId, deviceType); + DistributedService::GetInstance().UnSubscribeNotifictaion(deviceId, deviceType); } SYMBOL_EXPORT void RefreshDevice(const std::string &deviceId, uint16_t deviceType, const std::string &networkId) { - DistributedManager::GetInstance().RefreshDevice(deviceId, deviceType, networkId); + ANS_LOGI("RefreshDevice %{public}s %{public}d %{public}s.", StringAnonymous(deviceId).c_str(), + (int32_t)(deviceType), StringAnonymous(networkId).c_str()); + DistributedClient::GetInstance().RefreshDevice(deviceId, deviceType, networkId); } SYMBOL_EXPORT void ReleaseLocalDevice() { - DistributedManager::GetInstance().ReleaseLocalDevice(); + DistributedService::GetInstance().DestoryService(); } SYMBOL_EXPORT void InitHACallBack( std::function callback) { - DistributedManager::GetInstance().InitHACallBack(callback); + AnalyticsUtil::GetInstance().InitHACallBack(callback); } SYMBOL_EXPORT void InitSendReportCallBack( std::function callback) { - DistributedManager::GetInstance().InitSendReportCallBack(callback); + AnalyticsUtil::GetInstance().InitSendReportCallBack(callback); } #ifdef __cplusplus diff --git a/services/distributed/src/soft_bus/distributed_manager.cpp b/services/distributed/src/soft_bus/distributed_manager.cpp deleted file mode 100644 index e27c23006..000000000 --- a/services/distributed/src/soft_bus/distributed_manager.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (C) 2024 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "distributed_manager.h" - -#include "distributed_server.h" -#include "distributed_client.h" -#include "distributed_service.h" -#include "distributed_local_config.h" -#include "ans_log_wrapper.h" -#include "distributed_liveview_all_scenarios_extension_wrapper.h" -#include "analytics_util.h" - -namespace OHOS { -namespace Notification { -DistributedManager::DistributedManager() -{ - DistributedClient::GetInstance(); - DistributedServer::GetInstance(); -} - -DistributedManager& DistributedManager::GetInstance() -{ - static DistributedManager distributedManager; - return distributedManager; -} - -void DistributedManager::ReleaseLocalDevice() -{ - DistributedService::GetInstance().DestoryService(); -} - -int32_t DistributedManager::InitLocalDevice(const std::string &deviceId, uint16_t deviceType, - const DistributedDeviceConfig config) -{ - ANS_LOGI("InitLocalDevice %{public}s %{public}d.", StringAnonymous(deviceId).c_str(), (int32_t)(deviceType)); - DistributedLocalConfig::GetInstance().SetLocalDevice(config); - return DistributedService::GetInstance().InitService(deviceId, deviceType); -} - -void DistributedManager::AddDevice(const std::string &deviceId, uint16_t deviceType, - const std::string &networkId) -{ - ANS_LOGI("InitLocalDevice %{public}s %{public}d %{public}s.", StringAnonymous(deviceId).c_str(), - (int32_t)(deviceType), StringAnonymous(networkId).c_str()); - DistributedDeviceInfo peerDevice = DistributedDeviceInfo(deviceType, deviceId, networkId); - DistributedClient::GetInstance().AddDevice(peerDevice); - DistributedService::GetInstance().AddDevice(peerDevice); -} - -void DistributedManager::ReleaseDevice(const std::string &deviceId, uint16_t deviceType) -{ - ANS_LOGI("ReleaseDevice %{public}s %{public}d.", StringAnonymous(deviceId).c_str(), (int32_t)(deviceType)); - DistributedClient::GetInstance().ReleaseDevice(deviceId, deviceType); - DistributedService::GetInstance().UnSubscribeNotifictaion(deviceId, deviceType); -} - -void DistributedManager::RefreshDevice(const std::string &deviceId, uint16_t deviceType, - const std::string &networkId) -{ - ANS_LOGI("RefreshDevice %{public}s %{public}d %{public}s.", StringAnonymous(deviceId).c_str(), - (int32_t)(deviceType), StringAnonymous(networkId).c_str()); - DistributedClient::GetInstance().RefreshDevice(deviceId, deviceType, networkId); -} - -void DistributedManager::InitHACallBack(std::function callback) -{ - AnalyticsUtil::GetInstance().InitHACallBack(callback); -} - -void DistributedManager::InitSendReportCallBack(std::function callback) -{ - AnalyticsUtil::GetInstance().InitSendReportCallBack(callback); -} - -} -} diff --git a/services/distributed/test/unittest/BUILD.gn b/services/distributed/test/unittest/BUILD.gn index aaae1d003..18073254b 100644 --- a/services/distributed/test/unittest/BUILD.gn +++ b/services/distributed/test/unittest/BUILD.gn @@ -423,6 +423,7 @@ ohos_unittest("distributed_service_test") { module_out_path = module_output_path include_dirs = [ "/${services_path}/distributed/include", + "/${services_path}/distributed/include/base", "/${services_path}/distributed/include/soft_bus", "/${services_path}/distributed/include/tlv_box", "/${services_path}/distributed/include/helper", @@ -433,23 +434,23 @@ ohos_unittest("distributed_service_test") { "/${frameworks_path}/ans/src/notification_helper.cpp", "/${frameworks_path}/ans/src/notification_subscribe_info.cpp", "/${services_path}/ans/src/common/notification_config_parse.cpp", + "/${services_path}/distributed/src/base/distributed_client.cpp", + "/${services_path}/distributed/src/base/distributed_liveview_all_scenarios_extension_wrapper.cpp", + "/${services_path}/distributed/src/base/distributed_local_config.cpp", + "/${services_path}/distributed/src/base/distributed_server.cpp", + "/${services_path}/distributed/src/base/distributed_socket.cpp", "/${services_path}/distributed/src/helper/ability_manager_helper.cpp", "/${services_path}/distributed/src/helper/analytics_util.cpp", "/${services_path}/distributed/src/helper/bundle_resource_helper.cpp", "/${services_path}/distributed/src/helper/distributed_operation_connection.cpp", "/${services_path}/distributed/src/helper/distributed_preference.cpp", "/${services_path}/distributed/src/helper/distributed_rdb_helper.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_client.cpp", "/${services_path}/distributed/src/soft_bus/distributed_cmd_service.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_local_config.cpp", "/${services_path}/distributed/src/soft_bus/distributed_observer_service.cpp", "/${services_path}/distributed/src/soft_bus/distributed_operation_service.cpp", "/${services_path}/distributed/src/soft_bus/distributed_publish_service.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_server.cpp", "/${services_path}/distributed/src/soft_bus/distributed_service.cpp", "/${services_path}/distributed/src/soft_bus/distributed_service_uitls.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_socket.cpp", "/${services_path}/distributed/src/soft_bus/distributed_subscribe_service.cpp", "/${services_path}/distributed/src/soft_bus/distributed_subscriber.cpp", "/${services_path}/distributed/src/tlv_box/batch_remove_box.cpp", @@ -514,6 +515,7 @@ ohos_unittest("distributed_subscriber_test") { module_out_path = module_output_path include_dirs = [ "/${services_path}/distributed/include", + "/${services_path}/distributed/include/base", "/${services_path}/distributed/include/soft_bus", "/${services_path}/distributed/include/tlv_box", "/${services_path}/distributed/include/helper", @@ -525,23 +527,23 @@ ohos_unittest("distributed_subscriber_test") { "/${frameworks_path}/ans/src/notification_helper.cpp", "/${frameworks_path}/ans/src/notification_subscribe_info.cpp", "/${services_path}/ans/src/common/notification_config_parse.cpp", + "/${services_path}/distributed/src/base/distributed_client.cpp", + "/${services_path}/distributed/src/base/distributed_liveview_all_scenarios_extension_wrapper.cpp", + "/${services_path}/distributed/src/base/distributed_local_config.cpp", + "/${services_path}/distributed/src/base/distributed_server.cpp", + "/${services_path}/distributed/src/base/distributed_socket.cpp", "/${services_path}/distributed/src/helper/ability_manager_helper.cpp", "/${services_path}/distributed/src/helper/analytics_util.cpp", "/${services_path}/distributed/src/helper/bundle_resource_helper.cpp", "/${services_path}/distributed/src/helper/distributed_operation_connection.cpp", "/${services_path}/distributed/src/helper/distributed_preference.cpp", "/${services_path}/distributed/src/helper/distributed_rdb_helper.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_client.cpp", "/${services_path}/distributed/src/soft_bus/distributed_cmd_service.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_liveview_all_scenarios_extension_wrapper.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_local_config.cpp", "/${services_path}/distributed/src/soft_bus/distributed_observer_service.cpp", "/${services_path}/distributed/src/soft_bus/distributed_operation_service.cpp", "/${services_path}/distributed/src/soft_bus/distributed_publish_service.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_server.cpp", "/${services_path}/distributed/src/soft_bus/distributed_service.cpp", "/${services_path}/distributed/src/soft_bus/distributed_service_uitls.cpp", - "/${services_path}/distributed/src/soft_bus/distributed_socket.cpp", "/${services_path}/distributed/src/soft_bus/distributed_subscribe_service.cpp", "/${services_path}/distributed/src/soft_bus/distributed_subscriber.cpp", "/${services_path}/distributed/src/tlv_box/batch_remove_box.cpp", -- Gitee