//---------------------------------------------------------------------------- // EgalTech 2015-2015 //---------------------------------------------------------------------------- // File : API_MachMgr.cpp Data : 23.03.15 Versione : 1.6c8 // Contenuto : Funzioni Machining Manager per API. // // // // Modifiche : 23.03.15 DS Creazione modulo. // // //---------------------------------------------------------------------------- //--------------------------- Include ---------------------------------------- #include "stdafx.h" #include "API.h" #include "API_Macro.h" #include "DllMachKernel.h" #include "/EgtDev/Include/EInAPI.h" #include "/EgtDev/Include/EGnStringConverter.h" #include "/EgtDev/Include/EgtPointerOwner.h" using namespace std ; //----------------------------------------------------------------------------- BOOL __stdcall EgtInitMachMgr( void) { GseContext* pGseCtx = GetCurrGseContext() ; VERIFY_CTX( pGseCtx, FALSE) // inizializzazione gestore lavorazioni PtrOwner pMachMgr( MyCreateMachMgr()) ; VERIFY_NULL( Get( pMachMgr), "Error in CreateMachMgr", FALSE) pMachMgr->Init( pGseCtx->m_pGeomDB) ; // assegno il gestore al contesto pGseCtx->m_pMachMgr = Release( pMachMgr) ; // log avvio Machining Manager string sLog = "MachMgr started " ; LOG_INFO( GetLogger(), sLog.c_str()) return TRUE ; } //----------------------------------------------------------------------------- bool EgtUpdateMachMgr( void) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, FALSE) // aggiornamento gestore lavorazioni return pMachMgr->Update() ; } //----------------------------------------------------------------------------- bool EgtInsertMachMgr( int nInsGrp) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, 0) // sposto le macchinate dal gruppo di inserimento alla base macchinate return pMachMgr->Insert( nInsGrp) ; } //----------------------------------------------------------------------------- int __stdcall EgtGetMachGroupNbr( void) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, 0) // recupero il numero di macchinate return pMachMgr->GetMachGroupNbr() ; } //----------------------------------------------------------------------------- int __stdcall EgtAddMachGroup( const wchar_t* wsName, const wchar_t* wsMachineName) { return EgtAddMachGroup( wstrztoA( wsName), wstrztoA( wsMachineName)) ; } //----------------------------------------------------------------------------- int EgtAddMachGroup( const string& sName, const string& sMachineName) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, 0) // aggiungo la macchinata (gruppo di lavorazione) return pMachMgr->AddMachGroup( sName, sMachineName) ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtRemoveMachGroup( int nMGroupInd) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, FALSE) // rimuovo la macchinata (gruppo di lavorazione) return ( pMachMgr->RemoveMachGroup( nMGroupInd) ? TRUE : FALSE) ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtGetMachGroupName( int nMGroupInd, wchar_t*& wsName) { if ( &wsName == nullptr) return FALSE ; string sName ; if ( ! EgtGetMachGroupName( nMGroupInd, sName)) return FALSE ; wsName = _wcsdup( stringtoW( sName)) ; return (( wsName == nullptr) ? FALSE : TRUE) ; } //----------------------------------------------------------------------------- bool EgtGetMachGroupName( int nMGroupInd, string& sName) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, false) // recupero il nome della macchinata return pMachMgr->GetMachGroupName( nMGroupInd, sName) ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtGetMachGroupInd( const wchar_t* wsName, int* pnInd) { return ( EgtGetMachGroupInd( wstrztoA( wsName), *pnInd) ? TRUE : FALSE) ; } //----------------------------------------------------------------------------- bool EgtGetMachGroupInd( const string& sName, int& nInd) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, false) // recupero l'indice della macchinata return pMachMgr->GetMachGroupInd( sName, nInd) ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtSetCurrMachGroup( int nMGroupInd) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, FALSE) // imposto la macchinata corrente return ( pMachMgr->SetCurrMachGroup( nMGroupInd) ? TRUE : FALSE) ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtResetCurrMachGroup( void) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, FALSE) // reset macchinata corrente return ( pMachMgr->ResetCurrMachGroup() ? TRUE : FALSE) ; } //----------------------------------------------------------------------------- BOOL __stdcall EgtGetCurrMachGroup( int* pnInd) { IMachMgr* pMachMgr = GetCurrMachMgr() ; VERIFY_MACHMGR( pMachMgr, FALSE) // reset macchinata corrente return ( pMachMgr->GetCurrMachGroup( *pnInd) ? TRUE : FALSE) ; }