Ejemplo n.º 1
0
        //@Brief Obtiene una porción de la actualización
        //@Param[in] nSequence Número de la secuencia
        //@Return dc_UpdateWProgram Estructura con los datos de la actualización
        public dc_UpdateRemoteManager GetFileUpdateRemoteManager(int nSequence)
        {
            dc_UpdateRemoteManager updateRemoteManager = new dc_UpdateRemoteManager();

            updateRemoteManager.sequence = -1;
            updateRemoteManager.final    = false;

            try
            {
                m_mutexHostControllerEndpoints.WaitOne();
                foreach (EndpointAddress ep in m_hostControllerEndpoints)
                {
                    BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
                    JBCHostControllerServiceClient serviceClient = new JBCHostControllerServiceClient(binding, ep);

                    serviceClient.Open();
                    updateRemoteManager = serviceClient.GetFileUpdateRemoteManager(nSequence);
                    serviceClient.Close();
                }
            }
            catch (Exception ex)
            {
                LoggerModule.logger.Error(System.Reflection.MethodInfo.GetCurrentMethod().Name + ". Error: " + ex.Message);
            }
            finally
            {
                m_mutexHostControllerEndpoints.ReleaseMutex();
            }

            return(updateRemoteManager);
        }