コード例 #1
0
  /*
    If father of ASup has an "ActualValue" attribute, then make this ASup
    refer to this attribute.
  */

  sts = ldh_ObjidToName(Session, Father, ldh_eName_Hierarchy, Name,
    sizeof(Name), &size);
  if (EVEN(sts)) return PWRB__SUCCESS;

  strcat(Name, ".ActualValue");

  sts = ldh_NameToAttrRef(Session, Name, &Attribute);
  if (EVEN(sts)) return PWRB__SUCCESS;

  sts = ldh_SetObjectPar(Session, Object, "RtBody", "DataName", (char *)&Attribute,
    sizeof(Attribute));
  if (EVEN(sts)) return PWRB__SUCCESS;

  return PWRB__SUCCESS;
}

/*----------------------------------------------------------------------------*\
  Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/

pwr_dExport pwr_BindMethods(DsFast) = {
  pwr_BindMethod(PostCreate),
  pwr_BindMethod(PostMove),
  pwr_NullMethod
};
コード例 #2
0
ファイル: wb_c_dbconfig.cpp プロジェクト: jordibrus/proview
  sts = ldh_ObjidToName ( ip->PointedSession, ip->Pointed.Objid,
		ldh_eName_Object, name, sizeof(name), &size);
  if ( EVEN(sts)) return sts;

  dcli_translate_filename( filename, "$pwr_exe/wb_open_db.sh");
  cdh_ToLower( db_id, db_id_p);
  sprintf( cmd,
	"%s \"%s\" \"%s\" \"%s\" \"\" \"%s\" &",
	filename, db_id, CoLogin::username(), CoLogin::ucpassword(), name);
  free( db_id_p);

  sts = system( cmd);
  if ( sts == -1 || sts == 127) {
    printf("-- Error when creating process.\n");
    return sts;
  }
#endif
  return 1;
}


/*----------------------------------------------------------------------------*\
  Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/

pwr_dExport pwr_BindMethods(DbConfig) = {
  pwr_BindMethod(OpenDb),
  pwr_NullMethod
};
コード例 #3
0
static pwr_tStatus AnteCreate (
  ldh_tSesContext   Session,
  pwr_tObjid	    Father,
  pwr_tClassId	    Class
) {
  // ClassHier should be a top object or under object Class
  if ( Father.oix != 0) {
    pwr_tStatus sts;
    pwr_tOName name;
    int size;

    sts = ldh_ObjidToName( Session, Father, ldh_eName_Hierarchy, name, sizeof(name), &size);
    if ( EVEN(sts)) return sts;

    if ( strcmp( name, "Class") != 0) 
      return PWRS__POSCLASSHIER;
  }
  return PWRS__SUCCESS;
}

pwr_dExport pwr_BindMethods($ClassHier) = {
  pwr_BindMethod(AnteCreate),
  pwr_NullMethod
};





コード例 #4
0
ファイル: wb_c_object.cpp プロジェクト: jordibrus/proview
    }
    else {
      msg_GetMsg( sts, msg, sizeof(msg));
      ip->wtt->message( 'E', msg);
    }
  }
  return LDH__SUCCESS;
}

static pwr_tStatus ConnectAttributeFilter( ldh_sMenuCall *ip) 
{
  return 1;
}

pwr_dExport pwr_BindMethods($Object) = {
  pwr_BindMethod(CreateObject),
  pwr_BindMethod(CopyObject),
  pwr_BindMethod(CopyObjectTree),
  pwr_BindMethod(DeleteObject),
  pwr_BindMethod(DeleteObjects),
  pwr_BindMethod(IsOkCopyObject),
  pwr_BindMethod(IsOkCopyObjectTree),
  pwr_BindMethod(IsOkCreateObject),
  pwr_BindMethod(IsOkMoveObject),
  pwr_BindMethod(MoveObject),
  pwr_BindMethod(OpenObject),
  pwr_BindMethod(OpenTemplate),
  pwr_BindMethod(SetDefaults),
  pwr_BindMethod(ClassHelp),
  pwr_BindMethod(HelpClass),
  pwr_BindMethod(HelpClassFilter),
コード例 #5
0
ファイル: wb_c_chanao.cpp プロジェクト: siamect/proview
/* wb_c_chanao.c -- work bench methods of the ChanAo class. */

#include "pwr_baseclasses.h"
#include "wb_pwrs.h"
#include "wb_pwrb_msg.h"

/*----------------------------------------------------------------------------*\
  Syntax check.
\*----------------------------------------------------------------------------*/

static pwr_tStatus SyntaxCheck(
    ldh_tSesContext Session, pwr_tAttrRef Object, /* current object */
    int* ErrorCount, /* accumulated error count */
    int* WarningCount /* accumulated waring count */
    )
{
  // pwr_tStatus sts;

  // sts = wsx_CheckSigChanCon( Session, Object, ErrorCount, WarningCount);
  // if (EVEN(sts)) return sts;

  return PWRB__SUCCESS;
}

/*----------------------------------------------------------------------------*\
  Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/

pwr_dExport pwr_BindMethods(ChanAo)
    = { pwr_BindMethod(SyntaxCheck), pwr_NullMethod };
コード例 #6
0
ファイル: wb_c_webgraph.cpp プロジェクト: Strongc/proview
  build.opt = ip->wnav->gbl.build;
  build.webgraph( ip->Pointed.Objid);

  if ( build.sts() == PWRB__NOBUILT)
    ip->wnav->message( 'I', "Nothing to build");
  return build.sts();
}


/*----------------------------------------------------------------------------*\
  Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/

pwr_dExport pwr_BindMethods(WebGraph) = {
  pwr_BindMethod(OpenGraph),
  pwr_BindMethod(Build),
  pwr_NullMethod
};











コード例 #7
0
			     &name_p, &len);
    if ( EVEN(sts))
      cdh_ObjidToString( name, aref.Objid, 1);
    else
      strcpy( name, name_p);
    sprintf( msg, "Io connected to:   %s", name);
    ip->wtt->message( 'I', msg);
  }
  else {
    msg_GetMsg( sts, msg, sizeof(msg));
    ip->wtt->message( 'E', msg);
  }
  return PWRS__SUCCESS;
}


pwr_dExport pwr_BindMethods($AttrRef) = {
  pwr_BindMethod(Connect),
  pwr_BindMethod(IsOkConnect),
  pwr_BindMethod(IoConnect),
  pwr_BindMethod(IoConnectFilter),
  pwr_NullMethod
};







コード例 #8
0
      Session, Object, ErrorCount, WarningCount, wsx_mCardOption_ErrorLimits);
}

static pwr_tStatus PostCreate(
    ldh_tSesContext Session, pwr_tOid Object, pwr_tOid Father, pwr_tCid Class)
{
  pwr_tStatus sts;

  sts = dbcb_InsertPlcThreadObject(Session, Object);
  if (EVEN(sts))
    return sts;

  sts = ssab_SetAddress((wb_session*)Session, Object);
  return sts;
}

static pwr_tStatus SetAddress(ldh_sMenuCall* ip)
{
  pwr_tStatus sts;

  sts = ssab_SetAddress((wb_session*)ip->PointedSession, ip->Pointed.Objid);
  return sts;
}

//
//  Every method to be exported to the workbench should be registred here.
//

pwr_dExport pwr_BindMethods(Ssab_BaseDoCard) = { pwr_BindMethod(SyntaxCheck),
  pwr_BindMethod(PostCreate), pwr_BindMethod(SetAddress), pwr_NullMethod };
コード例 #9
0
ファイル: wb_c_plcpgm.cpp プロジェクト: jordibrus/proview
			 sizeof(toid));
    if ( EVEN(sts)) return sts;
  }
  return PWRB__SUCCESS;
}

static pwr_tStatus AnteAdopt (
  ldh_tSesContext   Session,
  pwr_tOid	    Father,
  pwr_tCid	    Class
) {
  // Only allow plc window objects
  if ( Class != pwr_cClass_windowplc)
    return PWRB__PLCPGMCHILD;

  return PWRB__SUCCESS;
}

/*----------------------------------------------------------------------------*\
  Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/

pwr_dExport pwr_BindMethods(PlcPgm) = {
  pwr_BindMethod(OpenProgram),
  pwr_BindMethod(Build),
  pwr_BindMethod(SyntaxCheck),
  pwr_BindMethod(PostCreate),
  pwr_BindMethod(AnteAdopt),
  pwr_NullMethod
};
コード例 #10
0
ファイル: wb_c_webhandler.cpp プロジェクト: jordibrus/proview
static pwr_tStatus Build (
  ldh_sMenuCall *ip
)
{
  wb_build build( *(wb_session *)ip->PointedSession, ip->wnav);

  build.opt = ip->wnav->gbl.build;
  build.webhandler( ip->Pointed.Objid);

  if ( build.sts() == PWRB__NOBUILT)
    ip->wnav->message( 'I', "Nothing to build");
  return build.sts();
}

static pwr_tStatus PostCreate (
  ldh_tSesContext   Session,
  pwr_tOid	    Object,
  pwr_tOid	    Father,
  pwr_tCid	    Class
) {
  // Nothing to do from V4.7.0 ...
  return PWRB__SUCCESS;
}

pwr_dExport pwr_BindMethods(WebHandler) = {
  pwr_BindMethod(Build),
  pwr_BindMethod(PostCreate),
  pwr_NullMethod
};

コード例 #11
0
//
static pwr_tStatus SyntaxCheck( ldh_tSesContext Session,
				pwr_tAttrRef Object,
				int *ErrorCount,
				int *WarningCount) 
{
  pwr_tStatus sts;
  pwr_tCid defgraph_class[] = { pwr_cClass_XttGraph, 0};
  pwr_tCid deftrend_class[] = { pwr_cClass_DsTrend, pwr_cClass_DsFast, pwr_cClass_DsFastCurve,
				pwr_cClass_PlotGroup, 0};

  sts = wsx_CheckAttrRef( Session, Object, "DefGraph", defgraph_class, 1, ErrorCount, WarningCount);
  if ( EVEN(sts)) return sts;
  
  sts = wsx_CheckAttrRef( Session, Object, "DefTrend", deftrend_class, 1, ErrorCount, WarningCount);
  if ( EVEN(sts)) return sts;

  return PWRS__SUCCESS;
}  

/*----------------------------------------------------------------------------*\
  Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/

pwr_dExport pwr_BindMethods($PlantHier) = {
  pwr_BindMethod(Build),
  pwr_BindMethod(SyntaxCheck),
  pwr_NullMethod
};

コード例 #12
0
#include "co_cdh.h"
#include "co_dcli.h"
#include "flow.h"
#include "flow_browctx.h"
#include "flow_browapi.h"
#include "wb_wnav.h"
#include "wb_build.h"
#include "cow_msgwindow.h"
#include "ge.h"

static pwr_tStatus Build (
  ldh_sMenuCall *ip
)
{
  wb_build build( *(wb_session *)ip->PointedSession, ip->wnav);

  build.opt = ip->wnav->gbl.build;
  build.application( ip->Pointed.Objid);

  if ( build.sts() == PWRB__NOBUILT)
    ip->wnav->message( 'I', "Nothing to build");
  return build.sts();
}


pwr_dExport pwr_BindMethods(Application) = {
  pwr_BindMethod(Build),
  pwr_NullMethod
};

コード例 #13
0
    return PWRS__POSSECURITY;
  return PWRS__SUCCESS;
}

static pwr_tStatus PostCreate (
  ldh_tSesContext   Session,
  pwr_tObjid	    Object,
  pwr_tObjid	    Father,
  pwr_tClassId	    Class
) {
  pwr_tStatus sts;

  // Set name to Security
  sts = ldh_SetObjectName( Session, Object, "Security");
  if ( EVEN(sts)) return sts;

  return PWRS__SUCCESS;
}

pwr_dExport pwr_BindMethods($Security) = {
  pwr_BindMethod(AnteCreate),
  pwr_BindMethod(AnteMove),
  pwr_BindMethod(PostCreate),
  pwr_NullMethod
};





コード例 #14
0
ファイル: wb_c_opplaceweb.cpp プロジェクト: siamect/proview
    wb_attribute ca = sp->attribute(co.oid(), "RtBody", "FileName");
    if (!ca)
      return ca.sts();

    ca.value(filename);
    if ((streq(filename, "index.html")) && idx < 1)
      idx = 2;
    else if (sscanf(filename, "index%d.html", &i) != 0) {
      if (idx <= i)
        idx = i + 1;
    }
    if (idx > 0) {
      wb_attribute a = sp->attribute(o.oid(), "RtBody", "FileName");
      if (!a)
        return a.sts();

      sprintf(filename, "index%d.html", idx);
      try {
        sp->writeAttribute(a, filename, sizeof(filename));
      } catch (wb_error& e) {
        return e.sts();
      }
    }
  }

  return PWRB__SUCCESS;
}

pwr_dExport pwr_BindMethods(OpPlaceWeb)
    = { pwr_BindMethod(Build), pwr_BindMethod(PostCreate), pwr_NullMethod };
コード例 #15
0
  pwr_tStatus sts;

  sts = dbcb_InsertPlcThreadObject( Session, Object);  
  if ( EVEN(sts)) return sts;

  sts = ssab_SetAddress( (wb_session *)Session, Object);
  return sts;
}

static pwr_tStatus SetAddress (
  ldh_sMenuCall *ip
)
{
  pwr_tStatus sts;

  sts = ssab_SetAddress( (wb_session *)ip->PointedSession, ip->Pointed.Objid);
  return sts;
}


//
//  Every method to be exported to the workbench should be registred here.
//

pwr_dExport pwr_BindMethods(Ssab_CO4uP) = {
  pwr_BindMethod(SyntaxCheck),
  pwr_BindMethod(PostCreate),
  pwr_BindMethod(SetAddress),
  pwr_NullMethod
};
コード例 #16
0
      continue;
    sts = ldh_ReadAttribute(ip->PointedSession, &PattrXref, &SattrXref,
      sizeof(pwr_sAttrRef));
    if (EVEN(sts)) return sts;
    if (memcmp(&SattrXref, &TattrRef, sizeof(pwr_sAttrRef)) == 0)
      break;
  }

  if (i >= (int)Pdim) {
    return PWRS__NOTCONN;
  } else {
    PattrRef = TattrRef;
    SattrRef = PattrXref;
  }

  memset(&NoRef, 0, sizeof(NoRef));
  sts = ldh_WriteAttribute(ip->PointedSession, &SattrRef, &NoRef,
    sizeof(pwr_sAttrRef));
  sts = ldh_WriteAttribute(ip->PointedSession, &PattrRef, &NoRef,
    sizeof(pwr_sAttrRef));
  return sts;
}

pwr_dExport pwr_BindMethods($AttrXRef) = {
  pwr_BindMethod(Connect),
  pwr_BindMethod(IsOkConnect),
  pwr_BindMethod(Disconnect),
  pwr_BindMethod(IsOkDisconnect),
  pwr_NullMethod
};
コード例 #17
0
ファイル: wb_c_security.cpp プロジェクト: siamect/proview
  if (ODD(sts))
    return PWRS__SECURITYALREX;

  return PWRS__SUCCESS;
}

static pwr_tStatus AnteMove(ldh_tSesContext Session, pwr_tObjid Object,
    pwr_tObjid Father, pwr_tObjid OldFather)
{
  // Check that that the father is the same
  if (!(Father.oix == OldFather.oix && Father.vid == OldFather.vid))
    return PWRS__POSSECURITY;
  return PWRS__SUCCESS;
}

static pwr_tStatus PostCreate(ldh_tSesContext Session, pwr_tObjid Object,
    pwr_tObjid Father, pwr_tClassId Class)
{
  pwr_tStatus sts;

  // Set name to Security
  sts = ldh_SetObjectName(Session, Object, "Security");
  if (EVEN(sts))
    return sts;

  return PWRS__SUCCESS;
}

pwr_dExport pwr_BindMethods($Security) = { pwr_BindMethod(AnteCreate),
  pwr_BindMethod(AnteMove), pwr_BindMethod(PostCreate), pwr_NullMethod };
コード例 #18
0
ファイル: wb_c_opplace.cpp プロジェクト: jordibrus/proview
    wb_attribute a = sp->attribute( &Object);
    if ( !a) return a.sts();

    // Check Attribute
    wb_attribute selectlist_a( a, 0, "EventSelectList");
    if (!selectlist_a) return selectlist_a.sts();

    selectlist_a.value( selectlist);
    if ( !selectlist_a) return selectlist_a.sts();

    bool empty = true;
    for ( unsigned int i = 0; i < sizeof(selectlist)/sizeof(selectlist[0]); i++) {
        if ( strcmp( selectlist[i], "") != 0) {
            empty = false;
            break;
        }
    }
    if ( empty)
        wsx_error_msg_str( Session, "EventSelectList is empty", Object, 'W', ErrorCount, WarningCount);

    return PWRB__SUCCESS;
}

pwr_dExport pwr_BindMethods(OpPlace) = {
    pwr_BindMethod(PostCreate),
    pwr_BindMethod(SyntaxCheck),
    pwr_NullMethod
};

コード例 #19
0
ファイル: wb_c_do_hvdo32.cpp プロジェクト: jordibrus/proview
/*----------------------------------------------------------------------------*\
  Syntax check.
\*----------------------------------------------------------------------------*/

static pwr_tStatus SyntaxCheck (
  ldh_tSesContext Session,
  pwr_tAttrRef Object,	      /* current object */
  int *ErrorCount,	      /* accumulated error count */
  int *WarningCount	      /* accumulated waring count */
) {
  pwr_tStatus sts;

  sts = wsx_CheckCard( Session, Object, ErrorCount, WarningCount,
		wsx_mCardOption_DevName);
  if (EVEN(sts)) return sts;

  return PWRB__SUCCESS;
}

/*----------------------------------------------------------------------------*\
  Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/

pwr_dExport pwr_BindMethods(Do_HVDO32) = {
  pwr_BindMethod(AnteAdopt),
  pwr_BindMethod(PostUnadopt),
  pwr_BindMethod(PostAdopt),
  pwr_BindMethod(SyntaxCheck),
  pwr_NullMethod
};
コード例 #20
0
ファイル: wb_c_do_hvdo32.cpp プロジェクト: siamect/proview
  return PWRB__SUCCESS;
}
/*----------------------------------------------------------------------------*\
  Syntax check.
\*----------------------------------------------------------------------------*/

static pwr_tStatus SyntaxCheck(
    ldh_tSesContext Session, pwr_tAttrRef Object, /* current object */
    int* ErrorCount, /* accumulated error count */
    int* WarningCount /* accumulated waring count */
    )
{
  pwr_tStatus sts;

  sts = wsx_CheckCard(
      Session, Object, ErrorCount, WarningCount, wsx_mCardOption_DevName);
  if (EVEN(sts))
    return sts;

  return PWRB__SUCCESS;
}

/*----------------------------------------------------------------------------*\
  Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/

pwr_dExport pwr_BindMethods(Do_HVDO32) = { pwr_BindMethod(AnteAdopt),
  pwr_BindMethod(PostUnadopt), pwr_BindMethod(PostAdopt),
  pwr_BindMethod(SyntaxCheck), pwr_NullMethod };
コード例 #21
0
//

static pwr_tStatus SyntaxCheck( ldh_tSesContext Session,
                                pwr_tAttrRef Object,
                                int *ErrorCount,
                                int *WarningCount)
{
    wb_session *sp = (wb_session *)Session;
    pwr_tOid mount_oid;

    // Check Object attribute
    wb_attribute a = sp->attribute( Object.Objid, "SysBody", "Object");
    if (!a) return a.sts();

    a.value( &mount_oid);
    if ( !a) return a.sts();

    if ( cdh_ObjidIsNull( mount_oid)) {
        wsx_error_msg_str( Session, "Mounted object is missing", Object, 'E', ErrorCount, WarningCount);
    }
    return PWRS__SUCCESS;
}

//
//  Every method to be exported to the workbench should be registred here.
//
pwr_dExport pwr_BindMethods($MountObject) = {
    pwr_BindMethod(SyntaxCheck),
    pwr_NullMethod
};
コード例 #22
0
ファイル: wb_c_classdef.cpp プロジェクト: Strongc/proview
      
      sts = ldh_SetObjectPar(ip->PointedSession, oid, "SysBody", "ButtonName", 
			     str, sizeof(pwr_tString40));
      if ( EVEN(sts)) return sts;
      
      sts = ldh_SetObjectPar(ip->PointedSession, oid, "SysBody", "RefAttribute", 
			     str, sizeof(pwr_tString40));
      if ( EVEN(sts)) return sts;
    }
  }

  if ( plctemplate) {
    sts = ldh_CreateObject( ip->PointedSession, &oid, "Code",
			    pwr_cClass_PlcTemplate,
			    ip->Pointed.Objid, ldh_eDest_IntoLast);
  }
  return PWRS__SUCCESS;
}

pwr_dExport pwr_BindMethods($ClassDef) = {
  pwr_BindMethod(AnteCreate),
  pwr_BindMethod(OpenObjectGraph),
  pwr_BindMethod(ConfigFc),
  pwr_NullMethod
};