VideoOS.Platform.Admin Namespace Reference

Classes

class  AddUserControl
 UserControl to be used when adding a new Item in the Management Client. More...
 
class  AdminImageViewerControl
 An ImageViewer UserControl for displaying live video in the XProtect Management Client
It is intended for assisting the user in configuring specifics that relates to the image of a camera, e.g. lines to cross in an analytics trip wire setup.
More...
 
class  AssociatedProperties
 Contains a cache of properties to be configured by the TabUserControl. More...
 
class  ContextMenuItem
 Defines one context menu entry, to be used in the Administration clients.
This class is constructed and defined in the ItemManager that owns a given type of Item, as identified by it's Kind. More...
 
class  DetailedUserControl
 This class is used in the Management Client and Administrator to provide multiple pages or tabs of configuration pages. This class is generated by the MIP Plugin and returned to the administrators in the ItemManager.GenerateDetailUserControlList() method. More...
 
class  ItemManager
 This class is created once for all Items of a specific Kind and is responsible for getting and saving configuration for all Items of that Kind

This class is also responsible for creating, filling and saving UserControl and relevant fields changed by the user in the administrators.
Normally there will be one ItemManager for each ItemNode.
If the Items being managed are stored on another server, then this class can utilize the Init() and Close() methods to setup sessions to the remote server in anticipation of calls to GetItems().

EventServer and Items on MAP
This class is also involved in defining ContextMenu on the SmartClient MAP, because the plug-in executing in the Event Server, are providing the Smart Client MAP ViewItem with all relevant plug-ins and their definitions.
As the Event Server uses authorization for Items, the ItemNode needs to define the SecurityActions relevant for the items being managed by the ItemManager. A minimum of two SecurityActions must always be defined for the Items to be available in the Smart Client.

Item Selection in the Administrators
Selection of an Item can happen via mouse click on the TreeView.
The user action will result in the following sequences of events:
a) ItemManager is accessed through the ItemNode
b) The GenerateUserControl() is called to allow ItemManager to create the User Control, setup the ConfigurationChangedByUserEvent, and return the UserControl to the caller.
c) The caller will add the UserControl to its relevant panel and set userControl.Dock = DockStyle.Fill to fill available area.
d) Existing configuration is fetched by calling the ItemManager.GetItem(FQID)
e) The ItemManager.FillUserControl(item) method is called to let the ItemManager populate the UserControl.


When de-selecting an item, the ItemManager.FillUserControl(null) is called to let the ItemManager clear the UserControl. The parent UserControl will also have Enabled=false; set shortly after this call.
Note: A ItemManager.ClearUserControl() is now defined - this is used when no items are selected to let the implementation clear all fields and disable the entire form.
Item edit and update
After an Item is selected or created, the system needs to know if any updates have been done by the administrator.
Ensure the ConfigurationChangedByUserHandler is called whenever the administrator changes something on the UI.
This will allow the administration application to enable Save and Apply buttons as appropriate.
When the administrator presses a Save or Apply button, the ValidateAndSaveUserControl is called to let the ItemManager and the underlying UserControl validate the entered values. If fields are valid the method returns true.

TreeView name change
On the TreeView itself, it is possible to press F2 and edit the name directly. In this case the updated name is passed to the ItemManager via the SetItemName(name) method.
The ItemManager should save the new name immediately.
More...
 
class  ItemNode
 An ItemNode contains all relevant information for a configuring and maintaining a specific kind of item.
It has ItemKind, name and a reference to an ItemManager.
The ItemManager assist in managing individual items and the UI controls to be used for this task. This class is constructed and used in all Environments, either to manage Items, or to get lists of them via GetItems(...) or GetItem(...) methods. More...
 
class  ItemNodeUserControl
 User control to display status panel for a configuration item, e.g. Connections on a server. More...
 
class  MapAlarmContextMenu
 Define a ContextMenu line to be displayed on the map when right clicking. More...
 
class  SecurityAction
 Contains definition of a specific security action. An Action could be "MANAGE" or "VIEW". The DisplayName should be the translated version to be used on UI. More...
 
class  TabPlugin
 Defines a plugin to be placed on the tab control of a built-in object. More...
 
class  TabUserControl
 UserControl used to manage configuration associated to e.g. a camera or hardware. More...
 
class  ToolsOptionsDialogPlugin
 A class specifying an OptionsDialog plug-in to the Administrator program.

Each of the OptionsDialogPlugin’s will have a separate tab in the tools-options dialog.
The plug-in should initialize the UI as part of the class construction.
The UserControl will be docked to fill the tab page.

When the SaveChanges method is called, the plug-in can use the base method ‘SaveProperties’ to save the configuration, if all configuration fields are saved in the Property dictionary. More...
 
class  ToolsOptionsDialogUserControl
 This UserControl is created by the PluginDefinition and placed in a new separate tab in the administrator's tools-options dialog.
The UserControl will be added to the owning tab parent UserControl and docking set to Fill. More...
 
class  VideoInfoArgs
 Specific EventArgs class to contain the information coming with each frame received. More...
 

Enumerations

enum  AdminImageState { Connecting , Connected , Closed }
 The state of the connection to the Camera. More...
 
enum  Category {
  Server , VideoIn , VideoOut , AudioIn ,
  AudioOut , TriggerIn , TriggerOut , Text ,
  Unknown , Layout
}
 The category enumeration is used to categorize the Items. The set of categories cannot be extended. This is generally used for improving the filtering of Items when selecting Items from a Picker dialog. More...
 
enum  ItemsAllowed { None , One , Many }
 Defines how many items can exist of a specific type.
Most often this should be set to Many, to allow the user to create a number of Items.
When defined as None, then the UI is changed to avoid empty TreeViews.
e.g. Corporate Management client will NOT have middle TreeView displayed when this is None or One.
When One is specified, you have two options for implementation. Either create the single Item in the ItemManager and then ensure the ContextMenu has disabled the "New..." by returning false on the ItemManager.IsContextMenuValid() method, or implement the Create and Delete methods in the ItemManager. More...
 
enum  OperationalState {
  Ok , Warning , Disabled , Error ,
  OkActive
}
 The operation state indicates how a specific Item is operating. This is used by the Event Server. More...
 
enum  PlacementHint {
  Default , Basics , Servers , Devices ,
  Client , RulesEvents , Security , Dashboard ,
  Logs , Hidden , Root , ParentItemTree ,
  HideInLeftTree
}
 The placement enumeration is used to place the Items in the administrator UI. The set of categories may be extended. More...
 

Functions

delegate void FrameReceivedHandler (object sender, VideoInfoArgs e)
 

Enumeration Type Documentation

◆ AdminImageState

The state of the connection to the Camera.

Enumerator
Connecting 
Connected 
Closed 

◆ Category

The category enumeration is used to categorize the Items. The set of categories cannot be extended. This is generally used for improving the filtering of Items when selecting Items from a Picker dialog.

Enumerator
Server 
VideoIn 
VideoOut 
AudioIn 
AudioOut 
TriggerIn 
TriggerOut 
Text 
Unknown 
Layout 

All Smart Client items fall into this category.

◆ ItemsAllowed

Defines how many items can exist of a specific type.
Most often this should be set to Many, to allow the user to create a number of Items.
When defined as None, then the UI is changed to avoid empty TreeViews.
e.g. Corporate Management client will NOT have middle TreeView displayed when this is None or One.
When One is specified, you have two options for implementation. Either create the single Item in the ItemManager and then ensure the ContextMenu has disabled the "New..." by returning false on the ItemManager.IsContextMenuValid() method, or implement the Create and Delete methods in the ItemManager.

Enumerator
None 
One 
Many 

◆ OperationalState

The operation state indicates how a specific Item is operating. This is used by the Event Server.

Enumerator
Ok 
Warning 
Disabled 
Error 
OkActive 

◆ PlacementHint

The placement enumeration is used to place the Items in the administrator UI. The set of categories may be extended.

Enumerator
Default 

ItemNode will be placed on the 'MIPPlugins' node.

Basics 
Servers 
Devices 
Client 
RulesEvents 
Security 
Dashboard 
Logs 
Hidden 

Hide the ItemNode from the tree view. The plugin is either a background plugin with no visible parts, or has a option plugin.

Root 
ParentItemTree 

Places the items directly under the parent item in the middle tree view selection panel.

The ItemNode will NOT be shown in the left hand side, if the node has a parent ItemNode.

Special care needs to be taken for the 'Add' function - consider to support the GetTranslation Dictionary with an 'Add' content, to control the context menu.

HideInLeftTree 

Hide the ItemNode from the left side tree view, but show it elsewehere - like security overview and middle tree view.

Function Documentation

◆ FrameReceivedHandler()

delegate void VideoOS.Platform.Admin.FrameReceivedHandler ( object sender,
VideoInfoArgs e )