Ignore:
Timestamp:
May 17, 2012, 3:21:15 PM (13 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
167b63
Parents:
1dc209
git-author:
Frederik Heber <heber@…> (12/11/11 16:00:42)
git-committer:
Frederik Heber <heber@…> (05/17/12 15:21:15)
Message:

Shifted all Controller stuff into own subfolder, extract class Operation.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/Automation/Controller/FragmentController.hpp

    r1dc209 r73d6fc  
    2121#include "FragmentJob.hpp"
    2222#include "FragmentResult.hpp"
     23
     24#include "Controller/Commands/Operation.hpp"
    2325
    2426/** The FragmentController sends bunches of jobs to a FragmentScheduler,
     
    3739  ~FragmentController();
    3840
    39   class Operation {
    40   public:
    41     Operation(Connection &_connection, const std::string& _host, const std::string& _service);
    42     virtual ~Operation();
    43   public:
    44     /// The Connection to the server.
    45     Connection &connection_;
    46 
    47     // virtual function pointer to the operation to do
    48     virtual void operator()() = 0;
    49 
    50     /// Handle completion of an operation.
    51     void handle_FinishOperation(const boost::system::error_code& e);
    52 
    53     enum Exitflag_t {
    54       OkFlag = 0,
    55       ErrorFlag = 255
    56     };
    57 
    58     // get the exit flag of the last operations
    59     size_t getExitflag() const
    60     {
    61       return Exitflag;
    62     }
    63 
    64   protected:
    65     /// internal function to resolve host name and ip address
    66     boost::asio::ip::tcp::resolver::iterator getEndpointIterator();
    67 
    68     /// internal function to disconnect from server
    69     void disconnect();
    70 
    71   protected:
    72     /// host name of server
    73     const std::string host;
    74 
    75     // service to connect to to
    76     const std::string service;
    77 
    78     /// flag of operation to give on program exit
    79     enum Exitflag_t Exitflag;
    80   };
    81 
    8241  class ReceiveJobsOperation : public Operation {
    8342  public:
     
    167126        boost::asio::ip::tcp::resolver::iterator endpoint_iterator);
    168127
    169           /// Callback function when results are about to be received.
    170           void handle_ReceivingResults(const boost::system::error_code& e);
    171 
    172           /// Callback function when results have been received.
    173           void handle_ReceivedResults(const boost::system::error_code& e);
     128    /// Callback function when results are about to be received.
     129    void handle_ReceivingResults(const boost::system::error_code& e);
     130
     131    /// Callback function when results have been received.
     132    void handle_ReceivedResults(const boost::system::error_code& e);
    174133
    175134    /// internal function to connect to server and receive calculated results
Note: See TracChangeset for help on using the changeset viewer.