Good morning Luca.
First of all, I would suggest you have a look our comparison chart, so that you have a general perspective and know the features supported by our different versions of XProtect:
https://www.milestonesys.com/files/XProtectOverview/Current/Milestone_XProtect_Comparison_Chart.pdf
There are many advantages in developing a dedicated plug-in.
You can deliver new and innovative solutions, such as integrating business management systems directly into the software, easily retrieve and use metadata and have them shown in XProtect Smart Client or in a separate application.
Our MIP SDK supports three types of integration: basic protocol integration, component-based integration via .NET library and plug-in integration to embed plug-ins directly into the software as you mention.
More resources about our SDK world here (only English, we have nothing in Italian):
https://www.milestonesys.com/our-products/resource-page3/?fp=resFileCategory02&fl=en
In regards to the TriggerGenericEvent method, the way it works is that if you have a device which is capable of sending packages via IP, you may configure the XProtect Generic Events feature to analyze such packets and trigger events based on criteria you define.
In other words, you will always need to instruct the XProtect server what to do when data arrives. You do that by defining types of generic events in the management client application. Each type has an expression string. When the expression has a match on the arriving data, the event type is triggered. If you define a rule for the event in the Rules section, this triggering will cause an action, exactly as with user-defined events.
TriggerGenericEvent goes along the following lines:
-–
Generic EventsSocket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket.Connect(IPAddress.Parse(hostname), 1234) byte[] bytes = Encoding.ASCII.GetBytes(“RecordCamera1”); socket.Send(bytes, bytes.length, 0); socket.Close();
-–
I suggest you have a look at the MIP SDK 2016 Documentation, in particular to:
the Generic Events which can be found in Home > Protocol Integration > Protocols > ImageServer > Generic Events