
#######
Handler
#######


****
NAME
****


Kernel::GenericInterface::Event::Handler - GenericInterface event handler


***********
DESCRIPTION
***********


This event handler intercepts all system events and fires connected GenericInterface
invokers.

_SerializeConfig()
==================



.. code-block:: perl

     returns a serialized hash/array of a given hash/array
 
     my $ConditionCheck = $Self->_SerializeConfig(
         Data => \%OldHash,
         SHash => \%NewHash,
     );
 
     Modifies NewHash (SHash):
 
     my %OldHash = (
         Config => {
             A => 1,
             B => 2,
             C => 3,
         },
         Config2 => 1
     );
 
     my %NewHash = (
         Config_A => 1,
         Config_B => 1,
         Config_C => 1,
         Config2  => 1,
     );



_ConditionCheck()
=================



.. code-block:: perl

     Checks if one or more conditions are true
 
     my $ConditionCheck = $Self->_ConditionCheck(
         ConditionLinking => 'and',
         Condition => {
             1 => {
                 Type   => 'and',
                 Fields => {
                     DynamicField_Make    => [ '2' ],
                     DynamicField_VWModel => {
                         Type  => 'String',
                         Match => 'Golf',
                     },
                     DynamicField_A => {
                         Type  => 'Hash',
                         Match => {
                             Value  => 1,
                         },
                     },
                     DynamicField_B => {
                         Type  => 'Regexp',
                         Match => qr{ [\n\r\f] }xms
                     },
                     DynamicField_C => {
                         Type  => 'Module',
                         Match =>
                             'Kernel::GenericInterface::Event::Validation::MyModule',
                     },
                     Queue =>  {
                         Type  => 'Array',
                         Match => [ 'Raw' ],
                     },
                     # ...
                 },
             },
             # ...
         },
         Data => {
             Queue         => 'Raw',
             DynamicField1 => 'Value',
             Subject       => 'Testsubject',
             # ...
         },
     );
 
     Returns:
 
     $CheckResult = 1;   # 1 = process with Scheduler or Requester
                         # 0 = stop processing





