Files
plcopenxmlbuilder/facades/builder.go
T
2026-08-28 17:59:35 +02:00

33 lines
538 B
Go

package facades
import (
"fmt"
"plcopenxmlbuilder/builders"
"schema"
)
type GenerateType int
const (
PLC GenerateType = iota
Application
Files
)
type Builder interface {
Marshal(s *schema.Project) ([]byte, error)
}
func NewBuilder(platform string, generateType GenerateType) (Builder, error) {
var builder Builder
switch platform {
case "twincat3":
builder = builders.NewTwincat3Builder()
default:
return nil, fmt.Errorf("no builder for %s found", platform)
}
return builder, nil
}