From b798a4fa48e8075d5210f0f459b8520dc96f144f Mon Sep 17 00:00:00 2001 From: Adam Lock Date: Tue, 12 Apr 2022 00:10:27 +0100 Subject: [PATCH] Work in progress --- integration/src/tests.rs | 5 +++-- lib/src/core/comms/message_writer.rs | 2 +- lib/src/core/comms/secure_channel.rs | 2 +- lib/src/lib.rs | 12 ++++++------ lib/src/server/address_space/address_space.rs | 2 +- lib/src/server/address_space/method.rs | 2 +- lib/src/server/address_space/method_impls.rs | 2 +- lib/src/server/comms/tcp_transport.rs | 2 +- lib/src/server/comms/transport.rs | 2 +- lib/src/server/events/event_filter.rs | 2 +- lib/src/server/events/operator.rs | 2 +- lib/src/server/services/attribute.rs | 2 +- lib/src/server/services/discovery.rs | 6 +++--- lib/src/server/services/message_handler.rs | 2 +- lib/src/server/services/method.rs | 2 +- lib/src/server/services/monitored_item.rs | 2 +- lib/src/server/services/node_management.rs | 2 +- lib/src/server/services/query.rs | 2 +- lib/src/server/services/session.rs | 2 +- lib/src/server/services/subscription.rs | 2 +- lib/src/server/services/view.rs | 2 +- samples/chess-server/src/main.rs | 2 +- samples/demo-server/src/control.rs | 2 +- samples/demo-server/src/historical.rs | 2 +- samples/demo-server/src/machine.rs | 2 +- samples/demo-server/src/main.rs | 2 +- samples/demo-server/src/methods.rs | 2 +- samples/demo-server/src/scalar.rs | 2 +- samples/discovery-client/src/main.rs | 4 ++-- samples/event-client/src/main.rs | 4 ++-- samples/modbus-server/src/config.rs | 2 +- samples/modbus-server/src/main.rs | 2 +- samples/modbus-server/src/opcua.rs | 2 +- samples/mqtt-client/src/main.rs | 4 ++-- samples/simple-client/src/main.rs | 4 ++-- samples/simple-server/src/main.rs | 4 ++-- samples/web-client/src/main.rs | 2 +- tools/certificate-creator/src/main.rs | 2 +- 38 files changed, 52 insertions(+), 51 deletions(-) diff --git a/integration/src/tests.rs b/integration/src/tests.rs index d251488c8..f3afe798a 100644 --- a/integration/src/tests.rs +++ b/integration/src/tests.rs @@ -3,11 +3,12 @@ use std::{ thread, }; +use chrono::Utc; +use log::*; + use crate::client::prelude::*; use crate::console_logging; use crate::server::{self, prelude::*}; -use chrono::Utc; -use log::*; use crate::harness::*; diff --git a/lib/src/core/comms/message_writer.rs b/lib/src/core/comms/message_writer.rs index 6ae9a02c9..2e84c508a 100644 --- a/lib/src/core/comms/message_writer.rs +++ b/lib/src/core/comms/message_writer.rs @@ -8,7 +8,7 @@ use crate::types::{status_code::StatusCode, BinaryEncoder, EncodingResult}; use super::{chunker::Chunker, secure_channel::SecureChannel, tcp_types::AcknowledgeMessage}; -use super::super::supported_message::SupportedMessage; +use crate::core::supported_message::SupportedMessage; const DEFAULT_REQUEST_ID: u32 = 1000; const DEFAULT_SENT_SEQUENCE_NUMBER: u32 = 0; diff --git a/lib/src/core/comms/secure_channel.rs b/lib/src/core/comms/secure_channel.rs index a7fd1a299..df636cbac 100644 --- a/lib/src/core/comms/secure_channel.rs +++ b/lib/src/core/comms/secure_channel.rs @@ -556,7 +556,7 @@ impl SecureChannel { } fn log_crypto_data(message: &str, data: &[u8]) { - use super::super::debug; + use crate::core::debug; debug::log_buffer(message, data); } diff --git a/lib/src/lib.rs b/lib/src/lib.rs index 8f8873777..d4cd63c72 100644 --- a/lib/src/lib.rs +++ b/lib/src/lib.rs @@ -59,14 +59,14 @@ macro_rules! trace_write_lock { } #[cfg(feature = "client")] -mod client; +pub mod client; #[cfg(feature = "console_logging")] -mod console_logging; -mod core; -mod crypto; +pub mod console_logging; +pub mod core; +pub mod crypto; #[cfg(feature = "server")] -mod server; -mod types; +pub mod server; +pub mod types; mod prelude { #[cfg(feature = "client")] diff --git a/lib/src/server/address_space/address_space.rs b/lib/src/server/address_space/address_space.rs index fce1e2169..9f238bbbc 100644 --- a/lib/src/server/address_space/address_space.rs +++ b/lib/src/server/address_space/address_space.rs @@ -15,7 +15,7 @@ use crate::types::{ *, }; -use super::super::{ +use crate::server::{ address_space::{ node::{HasNodeId, NodeType}, object::{Object, ObjectBuilder}, diff --git a/lib/src/server/address_space/method.rs b/lib/src/server/address_space/method.rs index f1c37333c..88db69f1f 100644 --- a/lib/src/server/address_space/method.rs +++ b/lib/src/server/address_space/method.rs @@ -15,7 +15,7 @@ use super::{ variable::VariableBuilder, }; -use super::super::session::SessionManager; +use crate::server::session::SessionManager; node_builder_impl!(MethodBuilder, Method); node_builder_impl_component_of!(MethodBuilder); diff --git a/lib/src/server/address_space/method_impls.rs b/lib/src/server/address_space/method_impls.rs index 88ca35b2f..b2e7a9473 100644 --- a/lib/src/server/address_space/method_impls.rs +++ b/lib/src/server/address_space/method_impls.rs @@ -10,7 +10,7 @@ use crate::types::{ *, }; -use super::super::{callbacks::Method, session::SessionManager}; +use crate::server::{callbacks::Method, session::SessionManager}; /// Count the number of provided input arguments, comparing them to the expected number. fn ensure_input_argument_count( diff --git a/lib/src/server/comms/tcp_transport.rs b/lib/src/server/comms/tcp_transport.rs index 5443ef6a5..984528c7f 100644 --- a/lib/src/server/comms/tcp_transport.rs +++ b/lib/src/server/comms/tcp_transport.rs @@ -43,7 +43,7 @@ use crate::core::{ use crate::crypto::CertificateStore; use crate::types::status_code::StatusCode; -use super::super::{ +use crate::server::{ address_space::types::AddressSpace, comms::{secure_channel_service::SecureChannelService, transport::*}, constants, diff --git a/lib/src/server/comms/transport.rs b/lib/src/server/comms/transport.rs index 06111079c..448704ede 100644 --- a/lib/src/server/comms/transport.rs +++ b/lib/src/server/comms/transport.rs @@ -13,7 +13,7 @@ use std::{ use crate::types::status_code::StatusCode; -use super::super::session::SessionManager; +use crate::server::session::SessionManager; #[derive(Clone, Copy, Debug, PartialEq)] pub enum TransportState { diff --git a/lib/src/server/events/event_filter.rs b/lib/src/server/events/event_filter.rs index dee5d6e87..2d860db5b 100644 --- a/lib/src/server/events/event_filter.rs +++ b/lib/src/server/events/event_filter.rs @@ -14,7 +14,7 @@ use crate::types::{ AttributeId, DateTimeUtc, NodeId, Variant, }; -use super::super::{ +use crate::server::{ address_space::{address_space::AddressSpace, node::NodeType, relative_path::*}, events::event::events_for_object, events::operator, diff --git a/lib/src/server/events/operator.rs b/lib/src/server/events/operator.rs index a4f8726a5..8f5d15dd5 100644 --- a/lib/src/server/events/operator.rs +++ b/lib/src/server/events/operator.rs @@ -16,7 +16,7 @@ use crate::types::{ VariantTypeId, }; -use super::super::address_space::{ +use crate::server::address_space::{ node::{NodeBase, NodeType}, relative_path::find_node_from_browse_path, AddressSpace, diff --git a/lib/src/server/services/attribute.rs b/lib/src/server/services/attribute.rs index 2b52db40b..3b86f0134 100644 --- a/lib/src/server/services/attribute.rs +++ b/lib/src/server/services/attribute.rs @@ -12,7 +12,7 @@ use crate::{ types::{status_code::StatusCode, *}, }; -use super::super::{ +use crate::server::{ address_space::{ node::{HasNodeId, NodeBase, NodeType}, variable::Variable, diff --git a/lib/src/server/services/discovery.rs b/lib/src/server/services/discovery.rs index 85e3e4c3b..a6c980484 100644 --- a/lib/src/server/services/discovery.rs +++ b/lib/src/server/services/discovery.rs @@ -4,12 +4,12 @@ use std::sync::{Arc, RwLock}; -use crate::core::supported_message::SupportedMessage; +use crate::core::{config::Config, supported_message::SupportedMessage}; use crate::types::{status_code::StatusCode, *}; -use super::super::state::ServerState; +use crate::server::state::ServerState; + use super::Service; -use crate::prelude::Config; /// The discovery service. Allows a server to return the endpoints that it supports. pub(crate) struct DiscoveryService; diff --git a/lib/src/server/services/message_handler.rs b/lib/src/server/services/message_handler.rs index 95aa45c1d..3d68bad66 100644 --- a/lib/src/server/services/message_handler.rs +++ b/lib/src/server/services/message_handler.rs @@ -12,7 +12,7 @@ use crate::core::supported_message::SupportedMessage; use crate::crypto::CertificateStore; use crate::types::{status_code::StatusCode, *}; -use super::super::{ +use crate::server::{ address_space::AddressSpace, comms::tcp_transport::MessageSender, services::{ diff --git a/lib/src/server/services/method.rs b/lib/src/server/services/method.rs index e7fdba9b3..9b900787b 100644 --- a/lib/src/server/services/method.rs +++ b/lib/src/server/services/method.rs @@ -7,7 +7,7 @@ use std::sync::{Arc, RwLock}; use crate::core::supported_message::SupportedMessage; use crate::types::{status_code::StatusCode, *}; -use super::super::{ +use crate::server::{ address_space::AddressSpace, services::Service, session::SessionManager, state::ServerState, }; diff --git a/lib/src/server/services/monitored_item.rs b/lib/src/server/services/monitored_item.rs index 5819263d1..fe706d6b7 100644 --- a/lib/src/server/services/monitored_item.rs +++ b/lib/src/server/services/monitored_item.rs @@ -7,7 +7,7 @@ use std::sync::{Arc, RwLock}; use crate::core::supported_message::SupportedMessage; use crate::types::{status_code::StatusCode, *}; -use super::super::{ +use crate::server::{ address_space::AddressSpace, services::Service, session::Session, state::ServerState, }; diff --git a/lib/src/server/services/node_management.rs b/lib/src/server/services/node_management.rs index ec0d5d937..fadec71cb 100644 --- a/lib/src/server/services/node_management.rs +++ b/lib/src/server/services/node_management.rs @@ -10,7 +10,7 @@ use std::{ use crate::core::supported_message::SupportedMessage; use crate::types::{node_ids::ObjectId, status_code::StatusCode, *}; -use super::super::{ +use crate::server::{ address_space::{relative_path, types::*, AddressSpace}, services::Service, session::Session, diff --git a/lib/src/server/services/query.rs b/lib/src/server/services/query.rs index c9e40be52..fbd786396 100644 --- a/lib/src/server/services/query.rs +++ b/lib/src/server/services/query.rs @@ -7,7 +7,7 @@ use std::sync::{Arc, RwLock}; use crate::core::supported_message::SupportedMessage; use crate::types::{status_code::StatusCode, *}; -use super::super::{ +use crate::server::{ address_space::AddressSpace, services::Service, session::Session, state::ServerState, }; diff --git a/lib/src/server/services/session.rs b/lib/src/server/services/session.rs index 7bcc24d61..839e947d6 100644 --- a/lib/src/server/services/session.rs +++ b/lib/src/server/services/session.rs @@ -9,7 +9,7 @@ use crate::core::supported_message::SupportedMessage; use crate::crypto::{self as crypto, random, CertificateStore, SecurityPolicy}; use crate::types::{status_code::StatusCode, *}; -use super::super::{ +use crate::server::{ address_space::address_space::AddressSpace, constants, identity_token::IdentityToken, diff --git a/lib/src/server/services/subscription.rs b/lib/src/server/services/subscription.rs index 0a39bf289..9554063eb 100644 --- a/lib/src/server/services/subscription.rs +++ b/lib/src/server/services/subscription.rs @@ -7,7 +7,7 @@ use std::sync::{Arc, RwLock}; use crate::core::supported_message::SupportedMessage; use crate::types::{status_code::StatusCode, *}; -use super::super::{ +use crate::server::{ address_space::AddressSpace, services::Service, session::Session, state::ServerState, subscriptions::subscription::Subscription, }; diff --git a/lib/src/server/services/view.rs b/lib/src/server/services/view.rs index 5dca02ad3..14acb37f2 100644 --- a/lib/src/server/services/view.rs +++ b/lib/src/server/services/view.rs @@ -9,7 +9,7 @@ use crate::core::supported_message::SupportedMessage; use crate::crypto::random; use crate::types::{node_ids::ReferenceTypeId, status_code::StatusCode, *}; -use super::super::{ +use crate::server::{ address_space::{relative_path, AddressSpace}, continuation_point::BrowseContinuationPoint, services::Service, diff --git a/samples/chess-server/src/main.rs b/samples/chess-server/src/main.rs index fd72d0b8c..dfa1064db 100644 --- a/samples/chess-server/src/main.rs +++ b/samples/chess-server/src/main.rs @@ -7,7 +7,7 @@ use std::path::PathBuf; use std::sync::{Arc, Mutex}; use std::thread; -use crate::server::prelude::*; +use opcua::server::prelude::*; mod game; diff --git a/samples/demo-server/src/control.rs b/samples/demo-server/src/control.rs index 330a3f429..3f31c8cb8 100644 --- a/samples/demo-server/src/control.rs +++ b/samples/demo-server/src/control.rs @@ -2,7 +2,7 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright (C) 2017-2022 Adam Lock -use crate::server::prelude::*; +use opcua::server::prelude::*; pub fn add_control_switches(server: &mut Server, ns: u16) { // The address space is guarded so obtain a lock to change it diff --git a/samples/demo-server/src/historical.rs b/samples/demo-server/src/historical.rs index b1a71ffed..8569a5a70 100644 --- a/samples/demo-server/src/historical.rs +++ b/samples/demo-server/src/historical.rs @@ -5,7 +5,7 @@ //! Implementations of HistoricalDataProvider and HistoricalEventProvider use std::sync::{Arc, RwLock}; -use crate::server::prelude::*; +use opcua::server::prelude::*; // Register some historical data providers pub fn add_providers(server: &mut Server) { diff --git a/samples/demo-server/src/machine.rs b/samples/demo-server/src/machine.rs index 4e22c7b33..775d60a5d 100644 --- a/samples/demo-server/src/machine.rs +++ b/samples/demo-server/src/machine.rs @@ -10,7 +10,7 @@ use std::sync::{ use chrono; use rand; -use crate::server::{events::event::*, prelude::*}; +use opcua::server::{events::event::*, prelude::*}; pub fn add_machinery(server: &mut Server, ns: u16, raise_event: bool) { let address_space = server.address_space(); diff --git a/samples/demo-server/src/main.rs b/samples/demo-server/src/main.rs index 33b0ec0ef..72b569fc3 100644 --- a/samples/demo-server/src/main.rs +++ b/samples/demo-server/src/main.rs @@ -22,7 +22,7 @@ extern crate log; use std::path::PathBuf; -use crate::server::{http, prelude::*}; +use opcua::server::{http, prelude::*}; mod control; mod historical; diff --git a/samples/demo-server/src/methods.rs b/samples/demo-server/src/methods.rs index cc61b3725..f8e3da3e2 100644 --- a/samples/demo-server/src/methods.rs +++ b/samples/demo-server/src/methods.rs @@ -6,7 +6,7 @@ use std::sync::{Arc, RwLock}; -use crate::server::{ +use opcua::server::{ address_space::method::MethodBuilder, callbacks, prelude::*, session::SessionManager, }; diff --git a/samples/demo-server/src/scalar.rs b/samples/demo-server/src/scalar.rs index c1a82626c..deb94385d 100644 --- a/samples/demo-server/src/scalar.rs +++ b/samples/demo-server/src/scalar.rs @@ -5,7 +5,7 @@ use rand::distributions::Alphanumeric; use rand::Rng; -use crate::server::prelude::*; +use opcua::server::prelude::*; pub fn add_scalar_variables(server: &mut Server, ns: u16) { let (static_folder_id, dynamic_folder_id) = { diff --git a/samples/discovery-client/src/main.rs b/samples/discovery-client/src/main.rs index a0ae20888..3879fef91 100644 --- a/samples/discovery-client/src/main.rs +++ b/samples/discovery-client/src/main.rs @@ -5,7 +5,7 @@ //! This is a sample that calls find servers on a OPC UA discovery server use std::str::FromStr; -use crate::client::prelude::*; +use opcua::client::prelude::*; struct Args { help: bool, @@ -46,7 +46,7 @@ fn main() -> Result<(), ()> { println!("Attempting to connect to discovery server {} ...", url); // Optional - enable OPC UA logging - opcua_console_logging::init(); + opcua::console_logging::init(); // The client API has a simple `find_servers` function that connects and returns servers for us. let mut client = Client::new(ClientConfig::new("DiscoveryClient", "urn:DiscoveryClient")); diff --git a/samples/event-client/src/main.rs b/samples/event-client/src/main.rs index f5f731395..cb579fa46 100644 --- a/samples/event-client/src/main.rs +++ b/samples/event-client/src/main.rs @@ -10,7 +10,7 @@ use std::str::FromStr; use std::sync::{Arc, RwLock}; -use crate::client::prelude::*; +use opcua::client::prelude::*; struct Args { help: bool, @@ -60,7 +60,7 @@ fn main() -> Result<(), ()> { Args::usage(); } else { // Optional - enable OPC UA logging - opcua_console_logging::init(); + opcua::console_logging::init(); // Make the client configuration let mut client = ClientBuilder::new() diff --git a/samples/modbus-server/src/config.rs b/samples/modbus-server/src/config.rs index 092f6f8e6..00ab7f56e 100644 --- a/samples/modbus-server/src/config.rs +++ b/samples/modbus-server/src/config.rs @@ -4,7 +4,7 @@ use std::{fs::File, io::Read, path::Path}; -use crate::server::prelude::*; +use opcua::server::prelude::*; use crate::Table; diff --git a/samples/modbus-server/src/main.rs b/samples/modbus-server/src/main.rs index 711b71f99..8e2bf72cf 100644 --- a/samples/modbus-server/src/main.rs +++ b/samples/modbus-server/src/main.rs @@ -113,7 +113,7 @@ fn main() -> Result<(), ()> { std::process::exit(1); }; - opcua_console_logging::init(); + opcua::console_logging::init(); run(config, args.run_demo_slave); } Ok(()) diff --git a/samples/modbus-server/src/opcua.rs b/samples/modbus-server/src/opcua.rs index ec5e4d647..69b5cc631 100644 --- a/samples/modbus-server/src/opcua.rs +++ b/samples/modbus-server/src/opcua.rs @@ -9,7 +9,7 @@ use std::{ u16, }; -use crate::server::prelude::*; +use opcua::server::prelude::*; use crate::{ config::{Alias, AliasType, TableConfig}, diff --git a/samples/mqtt-client/src/main.rs b/samples/mqtt-client/src/main.rs index 61e48b116..5d109981f 100644 --- a/samples/mqtt-client/src/main.rs +++ b/samples/mqtt-client/src/main.rs @@ -12,7 +12,7 @@ use std::{ use rumqtt::{MqttClient, MqttOptions, QoS}; -use crate::client::prelude::*; +use opcua::client::prelude::*; struct Args { help: bool, @@ -79,7 +79,7 @@ fn main() -> Result<(), ()> { let endpoint_id = args.endpoint_id; // Optional - enable OPC UA logging - opcua_console_logging::init(); + opcua::console_logging::init(); // The way this will work is the mqtt connection will live in its own thread, listening for // events that are sent to it. diff --git a/samples/simple-client/src/main.rs b/samples/simple-client/src/main.rs index efeafe9c1..ea4d9f458 100644 --- a/samples/simple-client/src/main.rs +++ b/samples/simple-client/src/main.rs @@ -9,7 +9,7 @@ //! 3. Subscribe to values and loop forever printing out their values use std::sync::{Arc, RwLock}; -use crate::client::prelude::*; +use opcua::client::prelude::*; struct Args { help: bool, @@ -47,7 +47,7 @@ fn main() -> Result<(), ()> { Args::usage(); } else { // Optional - enable OPC UA logging - opcua_console_logging::init(); + opcua::console_logging::init(); // Make the client configuration let mut client = ClientBuilder::new() diff --git a/samples/simple-server/src/main.rs b/samples/simple-server/src/main.rs index b096a0169..2f869ce23 100644 --- a/samples/simple-server/src/main.rs +++ b/samples/simple-server/src/main.rs @@ -8,12 +8,12 @@ use std::path::PathBuf; use std::sync::{Arc, Mutex}; -use crate::server::prelude::*; +use opcua::server::prelude::*; fn main() { // This enables logging via env_logger & log crate macros. If you don't need logging or want // to implement your own, omit this line. - opcua_console_logging::init(); + opcua::console_logging::init(); // Create an OPC UA server with sample configuration and default node set let mut server = Server::new(ServerConfig::load(&PathBuf::from("../server.conf")).unwrap()); diff --git a/samples/web-client/src/main.rs b/samples/web-client/src/main.rs index d828cce7e..4f12d7872 100644 --- a/samples/web-client/src/main.rs +++ b/samples/web-client/src/main.rs @@ -19,7 +19,7 @@ use actix_web::{ ws, App, Error, HttpRequest, HttpResponse, }; -use crate::client::prelude::*; +use opcua::client::prelude::*; struct Args { help: bool, diff --git a/tools/certificate-creator/src/main.rs b/tools/certificate-creator/src/main.rs index 5a8c4f376..cd302b773 100644 --- a/tools/certificate-creator/src/main.rs +++ b/tools/certificate-creator/src/main.rs @@ -1,6 +1,6 @@ use std::path::PathBuf; -use crate::crypto::*; +use opcua::crypto::*; fn main() { if let Ok((x509_data, overwrite, pki_path, cert_path, pkey_path)) = parse_x509_args() {