Ejemplo n.º 1
0
        private void DeployDefinition(object modelHost, SPFarm spFarm, DiagnosticsServiceBaseDefinition definition)
        {
            var currentObject = GetCurrentObject(spFarm, definition);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioning,
                Object           = currentObject,
                ObjectType       = typeof(SPDiagnosticsServiceBase),
                ObjectDefinition = definition,
                ModelHost        = modelHost
            });

            if (currentObject == null)
            {
                currentObject = CreateObject(spFarm, definition);
            }

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model            = null,
                EventType        = ModelEventType.OnProvisioned,
                Object           = currentObject,
                ObjectType       = typeof(SPDiagnosticsServiceBase),
                ObjectDefinition = definition,
                ModelHost        = modelHost
            });
        }
Ejemplo n.º 2
0
        private SPDiagnosticsServiceBase CreateObject(SPFarm spFarm, DiagnosticsServiceBaseDefinition definition)
        {
            var serviceType     = Type.GetType(definition.AssemblyQualifiedName);
            var serviceInstance = Activator.CreateInstance(serviceType) as SPDiagnosticsServiceBase;

            spFarm.Services.Add(serviceInstance);
            spFarm.Update();

            return(GetCurrentObject(spFarm, definition));
        }
 public static ModelNode AddDiagnosticsServiceBase(this ModelNode model, DiagnosticsServiceBaseDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
 public static ModelNode AddDiagnosticsServiceBase(this ModelNode model, DiagnosticsServiceBaseDefinition definition)
 {
     return(AddDiagnosticsServiceBase(model, definition, null));
 }
Ejemplo n.º 5
0
 private SPDiagnosticsServiceBase GetCurrentObject(SPFarm spFarm, DiagnosticsServiceBaseDefinition definition)
 {
     return(spFarm.Services.FirstOrDefault(s => s.TypeName.ToUpper() == definition.AssemblyQualifiedName.ToUpper()) as SPDiagnosticsServiceBase);
 }
Ejemplo n.º 6
0
 public static TModelNode AddDiagnosticsServiceBase <TModelNode>(this TModelNode model, DiagnosticsServiceBaseDefinition definition,
                                                                 Action <DiagnosticsServiceBaseModelNode> action)
     where TModelNode : ModelNode, IFarmModelNode, new()
 {
     return(model.AddTypedDefinitionNode(definition, action));
 }
Ejemplo n.º 7
0
 public static TModelNode AddDiagnosticsServiceBase <TModelNode>(this TModelNode model, DiagnosticsServiceBaseDefinition definition)
     where TModelNode : ModelNode, IFarmModelNode, new()
 {
     return(AddDiagnosticsServiceBase(model, definition, null));
 }